android 优化系列:
浅谈 android 内存优化
浅谈 androidUI 布局优化
本来在这方面,我们是没有太高的要求的,但是我为什么要考虑这些呢,还是因为我太无聊了。简单写写自己对于这两方面做的处理,记录自己的学习过程。
真喜欢这个 gif 图
网络优化,也是提升用户体验的一大利器。App 的网络连接对于用户来说, 影响很多, 且多数情况下都很直观, 直接影响用户对这个 App 的使用体验. 总的来说,这方面分为三部分吧:
Network Monitor,AS 自带的 Monitor 工具。感觉还挺好用的。
http://www.jianshu.com/p/aaee2d27068e (没有用过的可以简单看下这个文章)
项目中用到操作:
1. 减少 Radio 活跃时间
其实也就是减少网络数据获取的频次,在另一方面考虑,也减少了 radio 的电量消耗, 控制了电量使用。
这一方面可以从网络请求合并开始,这也考虑我们接口设计的能力了,接口设计要考虑网络请求的频次, 资源的状态等. 以便 App 可以以较少的请求来完成业务需求和界面的展示. 比如说某个页面内请求过多,就可以考虑做一定的请求合并。
2. 减少获取数据包的大小
这样做可以可以减少流量消耗,也可以让每次请求更快, 在网络情况不好的情况下也有良好表现, 提升用户体验。
图片相对于接口请求来说, 数据量要大得多. 故而也是我们需要优化的一个点. 我们可以在获取图片时告知服务器需要的图片的宽高, 以便服务器给出合适的图片, 避免浪费. 我们对于图片的资源存储用的是腾讯云的服务。所以可以在请求图片的 url 中添加诸如质量, 格式, width, height 等 path 来获取合适的图片资源:
例子:
http://v2test-10000812.image.myqcloud.com/tencentyunRestAPITest?imageView2/2/w/400/h/600/q/85 ! 我们可以指定他的宽高,质量等,当然还有其他很多操作,如果你也使用的话可以多看一下官方的东西。
Battery Historian:Google 提供了一个开源的电池历史数据分析工具
https://github.com/google/battery-historian . (下面会给出学习链接)
其实 Android 手机的电量都主要消耗在:屏幕、网络连接、GPS、传感器上。
在我们的某一款 app 中对数据有着严格的统计要求,所以数据提交服务端的时机就很重要的了 。我们选择电量充足或 Wifi 状态下发送。因为 wifi 会加快网络请求的速度,相对来说会减少用电量。在这里我们技术端使用 JobScheduler 实现,关于他的使用,请看下面介绍,是一位大牛翻译的外国的文档说明。
JobScheduler:
在 Android 开发中,会存在这么些场景 : 你需要在稍后的某个时间点或者当满足某个特定的条件时执行一个任务,例如当设备接通电源适配器或者连接到 WIFI。幸运的是在 API 21 (Android 5.0,即 Lollipop) 中,google 提供了一个新叫做 JobScheduler API 的组件来处理这样的场景。
学习链接: http://blog.csdn.net/bboyfeiyu/article/details/44809395
关于这方面,我们做的也不够多,但是在学习方面看了很多优秀开发者的文章。在此记录下来,如果以后有需求或者大家有这方面的需求,推荐看一下。
http://blog.csdn.net/boyupeng/article/details/48495391
http://www.jianshu.com/p/c55ef05c0047
http://www.jianshu.com/p/09d878e4c6ab (电量优化 wakelock)
http://blog.csdn.net/itheimach/article/details/70545139
http://www.jianshu.com/p/ebac88cdf9d6
http://www.jianshu.com/p/5d83d8649c98
http://blog.csdn.net/bboyfeiyu/article/details/44809395 (JobScheduler 学习)
来源: http://blog.csdn.net/say_from_wen/article/details/78560359