TV开发中,流畅度真的很重要,不论是在低配,高配机型上,都应该有完美的体验.
做了一些外包,还有项目,总结了一些小经验,和大家分享下,毕竟水平有限,还请大家多多见谅.
内存优化()
因为有时候为了解决卡顿,会使用缓存库,占用了大量的内存,最好缓存库能设置固件的几个数目,毕竟在低内存的机器上,真是头疼的事情.
内存泄漏
bitmap也需要注意优化.
资源文件 drawable,要注意高密度和度密度,这么说呢,就是1张1280x720的图片,本来只有1M多,为了在1920x1280显示,放大了,然后内存占用了8M多,只是举个栗子.
流畅度优化(卡顿,流畅度,启动速度)
也许你会感觉在滚动的时候,动画掉帧,然后一卡一卡的,或者左右移动也一样,这个时候我们就应该进行一些优化手段了.
先开始推荐,使用 Loader 来完成异步加载,这个库可以配合 Activity, Fragment 一起使用,还是非常不错的.
使用网络请求库,图片缓存库,最好 配合生命周期,停止了,就停止一切吧,尤其是在滚动的时候,最好能停止或者暂停 一些操作,等到 停止 滚动后,再来吧.
还有我们的item view布局嵌套的不要太深,还有就是onDraw或者draw绘制的东西应该尽可能减少,也要避免创建类(导致反复创建),尤其是bitmap,千万要注意.(如果使用了bitmap,加上布局嵌套太深,又是绘制大量东西,配合滚动,简直是一场噩梦般的存在)
在 数据库操作,等等的I/O操作 尽量用异步来完成(rxjava也不错).