android——开发中哪些习惯会影响卡顿的发生

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

开发中哪些习惯会影响卡顿的发生如下

1.布局太乱层级太深。

  • 1.1通过减少冗余或者嵌套布局来降低视图层次结构。比如使用约束布局代替线性布局和相对布局。

  • 1.2用 ViewStub 替代在启动过程中不需要显示的 UI 控件。

  • 1.3使用自定义 View 替代复杂的 View 叠加。

2.主线程耗时操作

  • 2.1主线程中不要直接操作数据库数据库的操作应该放在数据库线程中完成。

  • 2.2sharepreference尽量使用apply少使用commit可以使用MMKV框架来代替sharepreference。

  • 2.3网络请求回来的数据解析尽量放在子线程中不要在主线程中进行复制的数据解析操作。

  • 2.4不要在activity的onResume和onCreate中进行耗时操作比如大量的计算等。

  • 2.5不要在 draw 里面调用耗时函数不能 new 对象

3.过度绘制

过度绘制是同一个像素点上被多次绘制减少过度绘制一般减少布局背景叠加等方式如下图所示右边是过度绘制的图片。

4.列表

RecyclerView使用优化使用DiffUtil和notifyItemDataSetChanged进行局部更新等。

5.对象分配和回收优化

自从Android引入 ART 并且在Android 5.0上成为默认的运行时之后对象分配和垃圾回收GC造成的卡顿已经显著降低了但是由于对象分配和GC有额外的开销它依然又可能使线程负载过重。 在一个调用不频繁的地方比如按钮点击分配对象是没有问题的但如果在在一个被频繁调用的紧密的循环里就需要避免对象分配来降低GC的压力。

减少小对象的频繁分配和回收操作

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: android