問題タブ [didreceivememorywarning]
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.
ios - UIViewController の didReceiveMemoryWarning で EXC_BAD_ACCESS を取得するにはどうすればよいですか?
UIViewController のサブクラスに didReceiveMemoryWarning を実装しています。私のコードは次のようになります。
私のアプリが実際にメモリ警告を受け取ったとき、アプリは[self cleanUp]
回線上で EXC_BAD_ACCESS でクラッシュしました (メソッドは存在します)。これはどのように起こりますか?私が理解しているように、フレームワークはdidReceiveMemoryWarning
メソッドを呼び出し、実行を試みる前にクラスを解放しました[self cleanUp]
。なぜこれが起こるのでしょうか?どうすればこれを防ぐことができますか?
ios - 割り当て解除後にviewDidUnloadが呼び出されましたか?
iPad アプリをデバッグしているときに、メモリが不足しているため、いくつかのビュー コントローラーviewDidUnload
が呼び出されていることがわかりました。しかし、数秒後、それらviewDidLoad
が呼び出されます。そして、メモリ不足のため、viewDidUnload
、そしてviewDidLoad
また。これは、メモリ不足のためにファイル システムがファイルをスワップし続けるようなものです。
このようなことになっているのでしょうか、それとも何か間違ったことをしましたか?
次に、これを取り除くためにView Controllerを解放したいと思います。ただし、 のviewDidUnload
前に呼び出さdealloc
れ、割り当てが解除されたビュー コントローラーに送信されたセレクターが原因でクラッシュすることがあります。
助けてくれてありがとう。
memory-management - 警告: メモリ警告を受け取りました。レベル=1 & 2
コンソールで上記の警告を表示してクラッシュするアプリケーションを作成しています。
2 つのスプライトがあります。
他の方法では、アニメーションを使用して AlphaImage を初期化しています。
zwoptex を使用して、plist とテクスチャ アトラスを作成しました。
電車が行き来すると、アニメーションの plist とテクスチャ アトラスが変化します。しかし、4 ~ 5 回実行すると、アプリケーションがクラッシュします。また、新しいアニメーションが AlphaImage に来る前に、すべてのフレームとテクスチャを解放しました。これを使用しました。
アプリケーションに hd 画像を使用しています。多くのドキュメントを調べましたが、次のように提案されています。
ただし、コンソールでは、これらの行を使用したフレームの削除については何も表示されません。私が間違っていることはありますか?
iphone - 小さなアプリケーションは、開始直後に「didReceiveMemoryWarning」を受け取ります
多くの場合、アプリケーションの前に多くのアプリケーションが開かれると、「didReceiveMemoryWarning」が表示され、しばらくすると iOS は通常アプリケーションを閉じます。これは実際に顕著な問題になっています。
ここ数日間、「didReceiveMemoryWarning」について非常に多くのことを考えてきました。ここに投稿を含めます。残念ながら解決策は見つかりませんでした。
この警告と bla-bla-bla でメモリを解放する必要があることはわかっています... 問題は、アプリケーションの起動直後に解放するものが何もないことです。AdMob 4.0.2 バナーを含む 1 つの UIViewControlled がメモリ内にあり、アプリケーション データを提供する 1 つの独自のコンテナーがあります。これは NSMuttableArray のいくつかのレコードです。開始直後、私のアプリケーションは 1.3 Mb かかります。Instruments によると、この初期状態では私のアプリケーションは動作しておらず、間違いなくメモリ リークは発生していません。
なにが問題ですか?一部の負荷の高いゲームは問題なく開始できることがわかりますが、同時に、この場合のアプリケーションは「didReceiveMemoryWarning」を取得して閉じられます。この状況で通常の方法で機能する方法はありますか。いくつかのトリックはありますか?
ご提案いただきありがとうございます。
ios - ビューコントローラーのメモリ警告が割り当て解除されましたか?
私は、メインのものからサブクラス化されたUIViewcontroller
2つのメイン(vcMain)を持っています。UIViewControllers
サブクラス化された両方UIViewcontrollers
(vcSub1/vcSub2) は、単に画像といくつかのコントロールを表示するだけです。vcSub1 と vcSub2 が に表示されますUITabBarController
。私はこのように実装didReceiveMemoryWarning
しました:
vcMain:
vcSub1:
vcSub2:
初めてメモリ警告をシミュレートすると、すべてが正常に機能しているようです。
私はこれを問題なく何度でも行うことができます。ただし、タブを切り替えて(したがってビューをリロードして)メモリ警告を再度シミュレートすると、次のようになります。
Aninfo malloc-history 0x614de80
は、インスタンスが vcSub1 ビューコントローラーであることを示しています。
vcSub1 ビューコントローラーの割り当てが解除された理由と方法を教えてください。
iphone - メモリ クラッシュの前に didReceiveMemoryWarning が呼び出されない
アプリを初めてロードするときにいくつかの大きな csv ファイルをロードしていますが、これはシミュレーターでは正常に動作しますが、電話で実行すると、「プログラムがシグナル "0" を受信しました」というメッセージで約 30% クラッシュします。メモリクラッシュ。ただし、didReceiveMemoryWarning イベントにブレークポイントを設定すると、呼び出されないようです。
何か不足していますか、それともイベントが呼び出されずにプログラムが正常にシャットダウンしますか?
iphone - didReceiveMemoryWarningアプリがクラッシュする
didReceiveMemoryWarningメソッドを作成しようとしています。ViewDidUnloadのように、単にIBOutletsをnilに設定する必要がありますか?
iPhone Simulatorでメモリ警告をシミュレートしていますが、2回目に実行すると、アプリがクラッシュします。
どんな助けや指示も大歓迎です。ありがとう
iphone - didreceivememorywarningの適切な低メモリ警告メッセージ!
アプリでメモリ不足の警告が頻繁に発生しました。didreceivememorywarninigメソッドをオーバーライドし、不要なカスタムオブジェクトを解放するために最善を尽くしました。
通常、複数のアプリケーションがバックグラウンドで実行されている場合(6〜7個のアプリ)にメモリ警告が表示されるため、アプリをスムーズに実行するのに役立つ可能性のあるバックグラウンドアプリを閉じるようにユーザーに通知したいと思います。
//警告メッセージ:
//警告:メモリが不足しています。他のアプリケーションを閉じると役立つ場合があります。
アップルはこの動作を受け入れますか???? ありがとう。
ios - アプリがバックグラウンドにあるときにdidReceiveMemoryWarningを取得しない
didReceiveMemoryWarning
iPadシミュレーターでアプリケーションがバックグラウンド状態にあるときに、ビューコントローラーがメソッドを呼び出さないことに気づきました。具体的にapplicationDidEnterBackground
は、ログにへの呼び出しが表示され、[メモリ警告のシミュレーション]ボタンを押すと、呼び出しがまったくないことに気付きdidReceiveMemoryWarning
ます。
ただし、アプリケーションをフォアグラウンドに戻すと、didReceiveMemoryWarning
キューに入れられているかのように、突然呼び出しが発生します。
ここで私が混乱しているのは、私のアプリケーションが本当にバックグラウンドにあるのか、それとも完全に中断されているのかということです。シミュレーターで見分ける方法はありますか?
また、まだ一時停止されておらず、実際にバックグラウンドにある場合は、処理できないのはばかげていると思いますdidReceiveMemoryWarning
。これは、フォアグラウンドアプリケーションのみがメモリ警告を処理してスペースを解放できることを意味します。これは、フォアグラウンドアプリが、実行中の数十のアプリの1つにすぎないことを考えると、もちろん奇妙なことです。すべてメモリを解放できます。
とにかく、主な質問は次のとおりです。なぜdidReceiveMemoryWarning
バックグラウンド状態にならないのですか?また、私は本当に停止されていますか?そして、私はどのように言うのですか?