我已經通過文章http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html不見了。在本文中,建議使用帶WeakReference的靜態內部類。許多內部類用於事件監聽器。那些內部類也會造成內存泄漏嗎?這些內部類應該是靜態的嗎?內存泄漏
Q
內存泄漏
24
A
回答
36
可以將這些內部類也引起內存泄露?
可能。這取決於聽衆註冊的內容。
例如,良好的書面OnClickListener
用於Button
不應導致內存泄漏,因爲即使OnClickListener
可以是內部類和具有到Activity
的隱式引用,整個組對象都只是與活動相關聯。因此,當活動被銷燬,活動,Button
和OnClickListener
都可以作爲垃圾回收爲一體。
但是,LocationListener
已註冊到LocationManager
系統服務,由該進程持有。因此,即使活動被破壞,聽衆仍將保持註冊狀態。如果該偵聽器是一個內部類,它將繼續保持對該活動的隱式引用,並且您將有內存泄漏。
如果這些內部類是Staic一個?
可能。在大多數情況下,正確的答案是「如果您註冊的是除UI之外的其他監聽器,請務必在適當的位置取消註冊」。那樣的話,就不會有泄漏。
任何人都可以給我任何示例代碼如何事件偵聽器可以使用防泄漏。
不是在抽象的,沒有。
相關問題
- 1. 內存泄漏
- 2. 內存泄漏:
- 3. 內存泄漏
- 4. 內存泄漏
- 5. 內存泄漏
- 6. 內存泄漏
- 7. 內存泄漏
- 8. 內存泄漏
- 9. 內存泄漏
- 10. 內存泄漏
- 11. 內存泄漏:
- 12. 內存泄漏
- 13. 內存泄漏
- 14. 內存泄漏
- 15. 內存泄漏
- 16. 內存泄漏
- 17. 內存泄漏
- 18. python內存泄漏,泄漏幀
- 19. 泄漏填充內存泄漏iPhone
- 20. Autoreleasepool內存泄漏?
- 21. NSExpression內存泄漏?
- 22. BeginInvoke內存泄漏?
- 23. 內存泄漏 - g_strndup
- 24. NHibernate內存泄漏
- 25. TouchMXL內存泄漏?
- 26. Eclipse內存泄漏
- 27. Xamarin內存泄漏
- 28. UIToolbar內存泄漏
- 29. ObservableCollection內存泄漏
- 30. Android內存泄漏
這是一個簡單的監聽器,導致內存泄漏http://stackoverflow.com/questions/7083441/android-alertdialog-causes-a-memory-leak – user4o01 2014-02-09 19:25:33