极力推荐文章:欢迎收藏
Android 干货分享
1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的?
1.Item
布局,层级越少越好,使用hierarchyview
工具查看优化。
2.复用convertView
3.使用ViewHolder
4.item
中有图片时,异步加载
5.快速滑动时,不加载图片
6.item
中有图片时,应对图片进行适当压缩
7.实现数据的分页加载
2.对于Android 的安全问题,你知道多少
1.错误导出组件
2.参数校验不严
3.WebView
引入各种安全问题,webview
中的js
注入
4.不混淆.不防二次打包
5.明文存储关键信息
6.错误使用HTTPS
7.山寨加密方法
8.滥用权限.内存泄露.使用debug
签名
3.如何缩减APK包大小?
1.代码
保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs
,移除使用不到的libs
。
使用proguard
混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。
Native code
的部分,大多数情况下只需要支持armabi
与x86
的架构即可。如果非必须,可以考虑拿掉x86
的部分。
2.资源
使用Lint
工具查找没有使用到的资源。去除不使用的图片,String
,XML
等等。 assets
目录下的资源请确保没有用不上的文件。
生成APK
的时候,aapt
工具本身会对png
做优化,但是在此之前还可以使用其他工具如tinypng
对图片进行进一步的压缩预处理。
jpeg
还是png
,根据需要做选择,在某些时候jpeg
可以减少图片的体积。 对于9.png
的图片,可拉伸区域尽量切小,另外可以通过使用9.png
拉伸达到大图效果的时候尽量不要使用整张大图。
3.策略
有选择性的提供hdpi
,xhdpi
,xxhdpi
的图片资源。建议优先提供xhdpi
的图片,对于mdpi
,ldpi
与xxxhdpi
根据需要提供有差异的部分即可。
尽可能的重用已有的图