Android性能优化——内存泄漏优化
生活随笔
收集整理的這篇文章主要介紹了
Android性能优化——内存泄漏优化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
內存泄漏的優化分為兩個方面
一方面:開發過程中避免寫出有內存泄漏的代碼 。
另一方面:通過一些分析工具比如MAT來找出潛在的內存泄露從而解決
場景1:靜態變量導致的內存泄漏
場景2:單例模式導致的內存泄漏
這個不容小視。
接著讓Activity實現 OnDataArrivedListener接口,并注冊監聽 。如下
上面的代碼由于缺少注冊的操作所以會引起泄漏, 原因 Activityde 對象被單例模式的TestManager所持有,而單例模式的特點是其生命周期和Application保持一致,所以Activity對象不能及時釋放。
場景3:屬性動畫導致的內存泄漏
Google在 Android 3.0開始,提供了屬性動畫,動畫中有一類是無限循環播放的動畫。加入沒有在Acitvity的onDestory中去停止動畫,那么 動畫會一直播放下去,,盡管無法在界面上看到動畫效果了,而且這個時候的Activity的view會被動畫持有,而view又持有Acitvity.最終Acitvity無法釋放,解決辦法:就是在Activity中的onDestory中調用animator.cancel()來停止動畫。
代碼在這里就不列舉了
其實,內存泄漏的地方還有很多,例如,I/O操作的時候,沒有及時關流等等。希望大家細心多思考避免各種各樣的錯誤。
總結
以上是生活随笔為你收集整理的Android性能优化——内存泄漏优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 性能优化——布局优化
- 下一篇: ANDROID 开发常用的框架、工具、A