前提・実現したいこと
独学でSwiftを勉強中です。
ネットなどの情報を参考にしながら、CIFilterで画像処理のソフトを作って見ました。
A画像→B画像(画像処理)→A画像というものですが、Debug Memory GraphではMemory leak は
見つからなかったのですが、 実機テストInstrumentsで見ると、Segueなど操作とは関係なく、定期的にleak発生が見られます。しかし、leakが発生しているのに、Memoryは上昇していません。これは何故に?。
Xcodeは10.1です。Xcodeにお詳しい諸先輩方、ご教授を宜しくお願いいたします。
発生している問題・エラーメッセージ
該当のソースコード
ソースコード
試したこと
「Memoryは上昇していません」というのは何で判断しましたか?
上のグラフを見て判断したのであれば、リークサイズが小さいのでグラフでは違いが分からないだけかもしれません。
返信、ありがとうございます。
Allocationsのグラフが右肩上がりにならないので、そう判断しました。
なにぶん初心者のため、Instrumentsの見方が、よく分からないのもありますが…。
そのスクショでは2回しか実行してませんよね。
その画像処理を何十回、何百回と繰り返せば右肩上がりになると思いますよ。
実際には、50回ほど繰り返すテストを何度もしてみました。
Leakの数も、テストの度に変わります。でもグラフは右肩上がりになりませんでした。
「何が何やら」状態です。
お忙しい中、何度も返信、本当にありがとうございました。
スクショには一部しか見えていないので具体的なことは分かりませんが、数KBのリークであれば、100〜200回繰り返して1MB程度のリークです。1MBだとその小さなグラフでは1ドットにすらならないかも知れません。グラフの高さを高くするか、メモリ使用量だけであればXcodeのDebug navigatorでも確認できます。
何度もありがとうございます。leakの原因は、
これから更に勉強しながら、探していきたいと思います。
「何が何やら」を解決するためにコメントしているのですが、なぜ試して結果を教えてくれないのでしょうか?
申し訳ありません。試した「結果自体」が理解できないからです。
まだまだ、勉強不足です。
あなたが理解出来なくても結果を教えてもらえればこちらで判断します。
試した結果のスクショを貼って下さい。
返信遅れてすいません。hayabusabusash氏からご指導いただいて出たスクショの結果の一部です。