10

ZBar スキャンのパフォーマンスには非常に満足していますが、ARC で実行するプロジェクトで大きな問題に遭遇しました。

つまり、readerView が新しく表示されるたびに指数関数的に増加する深刻なメモリ リークが発生しているようです。約 10 倍のメモリ使用量が指数関数的に増加し始め、約 20 倍のスキャン プログラムが使用できなくなります。

同じバージョンでビルドされている例を見たことがありますが、問題はありません。また、readerView でメソッド flushCache を試しましたが、役に立ちません。

1 つのパッチがあります: http://sourceforge.net/p/zbar/patches/36/ですが、そのコードは見当たりません。完全なソース コードがないため、見つけることができません…</p>

誰も同じ問題を抱えていますか?

4

3 に答える 3

7

実際にここにパッチのコードがあります

diff --git a/iphone/ZBarReaderViewController.m b/iphone/ZBarReaderViewController.m
--- a/iphone/ZBarReaderViewController.m
+++ b/iphone/ZBarReaderViewController.m
@@ -320,8 +320,8 @@

 - (void) loadView
 {
-    self.view = [[UIView alloc]
-                    initWithFrame: CGRectMake(0, 0, 320, 480)];
+    self.view = [[[UIView alloc]
+                  initWithFrame: CGRectMake(0, 0, 320, 480)] autorelease];
 }

 - (void) viewDidLoad

これは.diffファイルです。リポジトリにアクセスできる場合は簡単にパッチを適用できますが、これは短いものであるため、手動で行うこともできます。クラスのメソッドにautorelease呼び出しを追加するだけですloadViewZBarReaderViewController

于 2013-09-05T14:01:55.263 に答える