Android tv性能优化

CPU负责UI布局元素的Measure, Layout, Draw等相关运算执行.

GPU负责栅格化(rasterization), 将UI元素绘制到屏幕上.

 

TV开发中,流畅度真的很重要,不论是在低配,高配机型上,都应该有完美的体验.

做了一些外包,还有项目,总结了一些小经验,和大家分享下,毕竟水平有限,还请大家多多见谅.

  • 内存优化()

因为有时候为了解决卡顿,会使用缓存库,占用了大量的内存,最好缓存库能设置固件的几个数目,毕竟在低内存的机器上,真是头疼的事情.

内存泄漏

bitmap也需要注意优化.

资源文件 drawable,要注意高密度和度密度,这么说呢,就是1张1280x720的图片,本来只有1M多,为了在1920x1280显示,放大了,然后内存占用了8M多,只是举个栗子.

  • 流畅度优化(卡顿,流畅度,启动速度)

也许你会感觉在滚动的时候,动画掉帧,然后一卡一卡的,或者左右移动也一样,这个时候我们就应该进行一些优化手段了.

先开始推荐,使用 Loader 来完成异步加载,这个库可以配合 Activity, Fragment 一起使用,还是非常不错的.

使用网络请求库,图片缓存库,最好 配合生命周期,停止了,就停止一切吧,尤其是在滚动的时候,最好能停止或者暂停 一些操作,等到 停止 滚动后,再来吧.

还有我们的item view布局嵌套的不要太深,还有就是onDraw或者draw绘制的东西应该尽可能减少,也要避免创建类(导致反复创建),尤其是bitmap,千万要注意.(如果使用了bitmap,加上布局嵌套太深,又是绘制大量东西,配合滚动,简直是一场噩梦般的存在)

在 数据库操作,等等的I/O操作 尽量用异步来完成(rxjava也不错).

  • 体积优化

    为什么要体积优化?Why?秀技能?程序员的强迫症?

    真不是,体积的好处在于,同样是竞争对手,你的APP要小很多,下载速度快,用户会先装起来玩玩的,一个几十M的APP,别人几M,不知道谁先下完,用户可以马上先体验呢?。如果是整机开发,APP能减少固件体积。

 

 

 

▌性能分析工具

Layout层次的 Hierarchy View,Android 系统 GPU Profile 工具 和 静态代码检查工具 Lint 等.

性能优化重要的工具: TraceView ,Systrace.

卡顿检测工具

应用绘制一个页面: 三个过程: CPU准备数据->GPU从数据缓存列表获取数据->Display设备绘制. 辅助工具: Profile GPU Rendering.

 

 

 

转载于:https://my.oschina.net/hailongqiu/blog/1573688

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值