Android性能优化之导致内存泄露问题的原因

1)单例模式导致:因为单列是静态的,与程序的生命周期一致。如果一个对象不再需要使用了,而这个对象原先所引用的单例还持有对该对象的使用,那么该对象就无法被回收。如对单例传入Activity的context。



2)内部类导致(解法:改为静态的内部类);


3)Handler内部类;


4)尽量避免使用static的成员变量;


5)资源未关闭导致的;


6)SharedPreferences的问题

                       1)不能做到跨进程同步;
                       2)不能存储文件多大的数据
                          [当sp中数据过大,从sp中获取数据的时候,可能会阻塞主线程,导致ui卡顿]
                          [解析很大的sp的时候,会产生很多的临时对象,导致频繁的GC回收,大量的GC导致内存抖动]


7)............

猜你喜欢

转载自blog.csdn.net/qq_33429583/article/details/79943088