一、合理利用Service资源
情景:当App在后台使用Service的时候,除非正在执行任务,否则都应该是处于非运行状态的,或者主动将其停止。
原因:Service的运行需要浪费内存,而且系统倾向保留这个Service从而保留Serivce的进程。
解决方法:最后使用IntentService代替普通的Service,当Service不使用了就杀死。
二、避免Bitmap的浪费
情景:当加载一个Bitmap的时候,将Bitmap的大小设置为当前屏幕像素的大小就可以了。
原因:Bitmap是非常耗内存的,太大的Bitmap容易发生内存溢出和卡顿的现象。
解决方法:使用ImageLoader框架、Fresco、Picasso框架
三、避免使用依赖注入框架
原因:依赖注入框架会通过扫描代码执行大量的初始化工作,并且需要大量的RAM来Map代码,并且这个map会长时间被保留在RAM中
四、谨慎使用外部类库
原因:因为有时候我们只需要用到一两个功能,但是却需要导入整个Jar或Lib。
解决方法:当无法找到合适的外部类库的时候,可以自己编译。