Android性能优化之内存泄漏

时间:2021-12-08 06:04:00

Android性能优化之内存泄漏

这是篇主要写下android的内存泄漏的优化
其他优化请看http://blog.csdn.net/carpe_diem_vv/article/details/58606910

内存泄漏原因

android5.0以后都是采用ART虚拟器(Dalvik虚拟机基本被废弃)。而虚拟机的最重要的作用就是垃圾回收。安卓中没有正真意义上的内存泄漏,之所以说内存泄漏是因为Android虚拟机没有及时的回收内存,而造成软件内存使用增高,从而导致软件Carsh。现在的手机为每个程序分配的内存已经非常大了,不想刚开始只有16M。三星note4为每个手机分配的内存为256M。所以一些小的内存泄漏问题,就不容易被发现。在测试的时候大家尽量用些配置比较低的手机测试。比较容易发现问题。

  • Static Activities(活动被静态引用)
  • Static Views(同上)
  • Inner Classes
  • Anonymous Classes
  • Handler
  • Threads
  • TimerTask
  • Sensor Manager

原因挺多,但是原理都差不多,这是别人总结出来的泄漏原因,我只遇到过大概4个左右。根本原因还是actiity在生命周期内没有被及时释放掉。一个Activity里的实例如果特别多。此时activity没被及时释放,肯定会引起内存的急剧飙升。

解决办法