問題タブ [nsautoreleasepool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 「クラス NSCFString のオブジェクト 0x84be00 は、プールが配置されていない状態で自動解放されました - ただリークしています」-しかし、アプリの最初の行にあります!
私の iPhone アプリでは、コードがまったく呼び出される前に、アプリの最初の部分でコンソールに 3 つの奇妙な警告が表示されます。
進行状況インジケーターを表示するために、多くの場所で MBProgressHUD を使用します。これは、進行状況インジケーターを表示するときに新しいスレッドをスローするため、この問題の他の議論の一部が指摘しているものです。しかし、最も奇妙なことは、これらが main() 関数の開始前にスローされるように見えることです。
コードの最初の にブレークポイントを設定すると、NSAutoreleasePool
その行が実行される前に、この警告が表示されます。おそらく、この時点までに独自のコードを実行していない場合、エラーの原因は何ですか?
objective-c - XcodeObjectiveC-NSThreadを使用したNSAutoreleaseNoPoolエラーのヘルプ
専門家の皆さん、NSThreadで少し問題が発生しています。Xcodeは、「* __NSAutoreleaseNoPool():プールが配置されていない状態で自動リリースされたクラスNSCFStringのオブジェクト0x5694dc0-リークしているだけです」というエラーを出し続けます。
NSAutoreleasePool * pool = [[NSAutoreleasePoolalloc]init];という行でプールを正しく宣言しています。
次に、ループの最後に次を使用します。[プールリリース];
これは、performSelectorInBackgroundとしてデリゲートメソッドを使用しているためですか?stackoverflowに感謝します。
objective-c - Objective-Cでのファクトリメソッドのパフォーマンス
次の2つのコードスニペットにパフォーマンス上の違いはありますか?
可能な限りファクトリメソッドの使用を提案しようとしている人がいます。プールが空になったときよりも、できるだけ早くオブジェクトを解放する方が良いのではないでしょうか。タイトループなどの特定のケースでは、最初のタイプが非常に効率的であることがわかります。
iphone - iPhoneの複数のスレッドについて
質問があります。私のケーススタディでは、2つの大きなSQLiteデータベースがあり、スレッドを使用したいと考えています(つまり、2つのプロセスを同時に使用します)。うまくいきましたか?私は次のコードを書きました:
案内してください。私はこれを正しく行っていますか?プールを使用して排水または解放する必要がありますか?
そして、そのように、これは並行プロセスを使用していますか?つまり、マルチタスクと同じ動作ですか?
前もって感謝します!
objective-c - NSAutoreleasePoolのsysctl->バスエラーとsegfaults
私を助けようとしているすべての人に事前に感謝します。ここで大きな問題が発生しています。sysctlに関するサンプルコードをいくつか見つけて拡張し、ネットワークインターフェイスに入力/出力データを照会できるようにしました。このコードをmain()で直接(NSAutoreleasePoolなしで)実行すると、すべてが正常に機能します。ただし、クラスに追加して実行すると、バスエラーとsegfaultが発生します。NSAutoreleasePoolsまで問題を追跡しました。誰か助けてもらえますか?(信じられない場合は、NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];をコードの前に配置し、すべてをmain()に配置してください)
cocoa - CoreData インポート中のメモリ使用量が多い
メモリ フットプリントをかなり低く維持しながら、かなり大きな CoreData インポート (約 25,000 行) を実行しようとしています。データの効率的なインポートに関するドキュメントを読み、そこで提案されているすべてを実装するよう努めました (MOC の undoManager を nil に設定するなど)。
残念ながら、以下のコードを実行すると、アプリケーションのメモリ使用量は依然として約 180MB に達します。完了すると、最後の NSAutoreleasePool ドレイン コールに関係なく、アプリケーションは約 180MB マークに留まります。
Allocations を使用してアプリケーションを実行すると、メモリ使用量の 95% が私の[self.moc save:&error]
呼び出しに起因することがわかります。ここで何が間違っていますか?
c++ - オブジェクトごとに 1 つの AutoreleasePool?
私は「大きな」ものを持つことはできませんNSAutoreleasePool
–main()
私はそれに触れることを許されていません. では、オブジェクトごとに 1 つのプールを持つとはどういうことでしょうか?
これは有効な「パターン」ですか?
cocoa-touch - 「割り当て解除されたインスタンスに送信されたメッセージ」が原因で iOS アプリがクラッシュする
私の iOS アプリには多くのネットワーク機能があります。もちろん、重要なデータはファイルシステムに保存してオフラインで表示するなどしていますが、以前は問題なく完全に動作していました。ここで、機内モードをオンにしてこれをテストして、インターネット接続がないことをシミュレートしようとすると、GDB は次のように出力します。
gdb で malloc デバッグを試しましたが、プロセスが実行されていないか、コマンドが見つからないことがわかります。バグが発生した場所を特定するにはどうすればよいですか? backtrace は、通常の NSAutoreleasePoolPop のものしか提供しませんでした。
私の愛のために、私はこのバグがどこにあるかを追跡することはできません. NSZombiesEnabled はアドレスを教えてくれますが、malloc_history pid 0x3e93630
前に情報があっても gdb がこのコマンドを認識していないというエラーが表示されます。
memory-leaks - メモリ リーク NSAutoreleasePool
楽器を使用すると、このコードでメモリリークが発生しましたが、その理由がわかりません!
ありがとう
iphone - デタッチされた NSThread メモリ リーク
楽器を使用すると、切り離されたスレッドのこのメソッドでメモリリークが発生しました:
この漏れはわかりません。
ありがとう。