は、向きの変更の非同期タスクがメモリリークにつながることができますどのように同じのより深い理解を持っていると思います。私は研究の私のビットを行っているが、向きの変更は、Androidのフレームワークは、(ゴミが割り当てられたメモリを収集)し、新しいものを作成し、活動を破棄するとき、通常、正確なソリューションどのように非同期のタスクとカーソルがメモリリークにつながる?
2
A
答えて
0
を見つけることができませんでした。
AsyncTask
を実行していて、Activity
クラスオブジェクトへの参照を保持し、方向が変更されているとします。ここで、Androidフレームワークはアクティビティを破棄することはできません(それはまだあなたのAsyncTask
によって参照されています)。新しいフレームワークが作成されます。これはメモリリークがどのように起こるかの1つです。
0
あなたはAsyncTaskのインスタンスを作成するとき、あなたは「この」またはコンテキストを使用して、その中にアクティビティの参照を渡します。 asyncTaskが動作しているときにデバイスをローテーションすると、アクティビティが再作成され、メモリリークの原因となるAsyncTaskで以前のインスタンスを使用できるようになります。
ベストプラクティスpostExecuteでyourActivity.this.isFinishing()をチェックすると、UIを更新しないです。 cancel()メソッドを使用してasyncTaskを取り消すことができます。
関連する問題
- 1. Androidどのように同期する2つの非同期タスク?
- 2. どのように同期タスクを非同期にするのですか?
- 3. どのように非同期タスクとMailchimp API v3.0
- 4. 非同期タスクが
- 5. jsで一連の非同期タスクが完了するのをどのように待つのですか?
- 6. 非同期タスクがスカラーで完了するのをどのように待つのですか?
- 7. スレッド・ブロッキングのないサブプロセスによる非同期タスクの実行
- 8. シンプルなタスクを返す非同期HtppListener非同期/で待つと
- 9. 非同期タスク
- 10. 非同期タスク
- 11. 非同期タスクが完了する前に非同期タスクが終了している場合、非同期タスクが停止したときにアクティビティを呼び出すライフサイクルはどうなりますか?
- 12. 非同期タスクでダイアログがフリーズする
- 13. 私のような機能があるとのOCaml /非同期
- 14. 1つの非同期タスクを1つずつ実行するにはどうすればよいですか?
- 15. Visual Basic非同期タスク代わりに同期タスク
- 16. 非同期コードがない場合、タスクを返すサードパーティのインターフェイスをどのように処理しますか?
- 17. 非同期cancelabelタスク
- 18. ブロック非同期タスク
- 19. SignalR非同期タスク
- 20. アンドロイド非同期タスク
- 21. レルム非同期タスク
- 22. 非同期タスク、BufferedReader
- 23. RxSwift非同期タスク
- 24. 2つの非同期タスクを次々と実行するにはどうすればよいですか?
- 25. 複数の非同期タスクを返すときにどのような結果がどのタスクから来たのかを知る方法は?
- 26. 非同期タスク中にmyLooper()が終了しない
- 27. csharpのユニットテスト非同期タスク
- 28. 非同期タスクのHTTPステータスコード
- 29. タスク非同期のC#プログラミング
- 30. ASP.NETコアの非同期タスク