Android内存、性能优化

1、Bitmap:压缩处理(有固定的尺寸),用完及时recycle,透明度属性尽量使用RGB_565,多次使用缓存处理
2、Cursor(游标)回收
3、Receiver(接收器)回收
4、Stream/File(流/文件)回收

1、使用系统自带的类库,不要自己写(TextUtils、String.indexOf())
2、重用系统资源:ListView的item、图片、字符串、style、颜色
3、使用ViewStub标签、include标签、merge标签。构建布局
4、减少视图层级:(ConstraintLayout)
5、布局用Java代码比写在XML中快
6、Adapter适配器(item循环利用)
7、使用.9图片
8、永远不要使用AbsoluteLayout

1、避免子类直接去控制父类中内容,可以使用监听等方式去解决
2、一些常用的变量尽量用static final。虽不能减少内存优化,但可以提高编译效率
3、静态方法代替虚拟方法
4、减少不必要的全局变量(比如Context)
5、字符串拼接,使用StringBuffer
6、避免内部Getters/Setters(在Android中,虚方法调用的代价比直接字段访问高昂许多、一个字段经常被访问的类中宜采用直接访问)
7、避免使用浮点数(浮点数会比整型慢两倍)
8、使用实体类比接口好(调用一个接口的引用会比调用实体类的引用多花费一倍的时间,如果HashMap完全适合你的程序,那么使用Map就没有什么价值)
9、避免使用枚举(会牺牲执行的速度和并大幅增加文件体积)
10、for循环(size())
11、对象池、线程池的使用

1、View中设置缓存属性.setDrawingCache为true
2、将Acitivity中的Window的背景图设置为空。getWindow().setBackgroundDrawable(null);android的默认背景是不是为空
3、定义了自己的Activity和fragment等常用控件的基类去避免进行重复的工作
4、Code Review(代码检查)
5、UI Review(视图检查)

1、单例模式
2、非静态内部类的调用(timer、handle)
3、属性动画(cancle)
4、webview移除和销毁
mWebViewContainer.removeView(mWebView);
mWebView.stopLoading();
mWebView.getSettings().setJavaScriptEnabled(false);
mWebView.clearHistory();
mWebView.removeAllViews();
mWebView.destroy()

参考:https://www.cnblogs.com/yezhennan/p/5442557.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值