文档章节

android 项目优化

zhang555
 zhang555
发布于 2016/01/27 10:41
字数 651
阅读 20
收藏 1

 

1.布局层级尽量低

2.一定要多判null操作,防止程序NullPointException崩溃。有人说,程序其实没什么高深,就是对那个东西的熟悉还有认真细心而已。确实,在大部分的开发工作中,也就是这两点。

3.对数据库的使用优化,使用索引,显示的使用事务,把表名列名抽出来放到常量类里面,把对数据库的操作封装成对应的工具类。对数字,不用加单引号;对字符串要加单引号,不能为null

4.对图片的加载,要尽量小心,容易oom

5.对android的某些方法的使用要注意版本的支持。有些效果,方法,在低版本的sdk上面不支持,用户安装后会出现闪。。比如数据库的一些方法在低版本上没有

6.Android studio里面《使用 APK Analyzer 分析你的 APK》,可以查看分析最终生成的apk文件

7.使用MAT,traceview工具来优化

8.开启手机的过度绘制模式,查看GPU是否过度绘制

9.在网络工具类里面打印每一个网络请求的地址,消耗的时间。在基类里面打印每一个页面的全称,通过点击页面,观察网络请求,来优化

10.即使是开异步线程去执行耗时操作,如果太耗时的话,也会很卡顿的。注意时间复杂度,在for循环里面,把多次用到的list.get(i)用一个变量存储下来,使用这个变量去访问数据。

11.listview的滚动条如果设置为没有,则页面底部的输入框,在弹出软键盘的的时候,会把整个页面顶上去;

可以通过android:scrollbarThumbVertical="@android :color/transparent",把滚动条设置为透明的

让滚动条一直显示;android:scrollbarAlwaysDrawVerticalTrack="true"  android:scrollbarFadeDuration="999999"

12.如果在edittext的任何一个父布局中,加上android:descendantFocusability="blocksDescendants",就会导致edittext点击没有反应,无法弹出输入法和光标

13.Html.fromHtml("您当前拥有<font color=#ff0000> " + toastcontext_kubi+ "</font>酷币")

14.当在XML布局文件中,加载src图片时,如果src的图片资源过大,比如大于500KB,那么就会导致速度变慢,点开activity页面,setContentView的时候,耗时过多,造成明显的卡顿现象。  

15.可以使用StrictMode类开启严格模式,检查是否在UI线程中进行了网络操作或者文件系统的操作。  

16.apk瘦身

 

 

 

 

© 著作权归作者所有

zhang555
粉丝 10
博文 78
码字总数 27748
作品 0
朝阳
程序员
私信 提问
Android系统源码分析团体项目BeesAndroid正式上线啦

嗨,BeesAndroid开源技术小组正式成立啦,Bees,即蜜蜂,取义分享、合作与奉献的意思,这也是BeesAndroid小组的宗旨,我们第一个团体项目BeesAndroid也于2018年3月6日同步上线,该项目的前 ...

郭孝星
2018/03/08
0
0
迈绝伦团队工作汇总

项目负责人:余志恒 up_java后台:无 mz_java后台:解决了业主不能下单发布订单以及对商家的私人订单在抢客首页也会显示的问题 bwk后台:无 项目负责人:季景胜 up_Android:无 upzg_Android...

风化的骆驼
2016/12/26
1
0
迈绝伦团队工作汇总

项目负责人:余志恒 up_java后台:暂无更新 mz_java后台:修改了非会员商家建材只能发布不能上架,分享领取秒币并返利功能完成 bwk后台:暂无更新 项目负责人:季景胜 up_Android:暂无更新 ...

风化的骆驼
2016/12/20
0
0
迈绝伦团队工作汇总

项目负责人:余志恒 up_java后台:无 mz_java后台:在做抢客推送接口以及规范数据库目录树完成 bwk后台:无 项目负责人:季景胜 up_Android:无 upzg_Android:无 mzqk_Android:UI界面优化 ...

风化的骆驼
2016/12/29
1
0
迈绝伦团队工作汇总

项目负责人:余志恒 up_java后台:无 mz_java后台:推送功能完善完成 bwk后台:无 项目负责人:季景胜 up_Android:无 upzg_Android:无 mzqk_Android:抢客优化积分商品列表界面、兑换信息完...

风化的骆驼
2017/01/05
1
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失

在Spring Cloud中我们用Hystrix来实现断路器,Zuul中默认是用信号量(Hystrix默认是线程)来进行隔离的,我们可以通过配置使用线程方式隔离。 在使用线程隔离的时候,有个问题是必须要解决的...

xiaomin0322
32分钟前
1
0
使用 Jenkins + Ansible 实现 Spring Boot 自动化部署101

本文首发于:Jenkins 中文社区 本文要点: 设计一条 Spring Boot 最基本的流水线:包括构建、制品上传、部署。 使用 Docker 容器运行构建逻辑。 自动化整个实验环境:包括 Jenkins 的配置,J...

Jenkins中文社区
37分钟前
1
0
springcloud配置中心和消息总线,学习,记录其中的问题

改造配置中心的客户端,接入消息总线 1.增加pom文件的引用 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20......

夜中孤影
50分钟前
3
0
gzip压缩

tar -zcvf gz包路径 被压缩的路径 tar -zcvf /home/xxx/test.tar.gz hello gz包的路径可以是 完整的也可以相对 , 被压缩的路径 不要全路径 不然压缩包里也会有全路径...

shzwork
56分钟前
3
0
rancher-1

部署rancher 官方快速部署 https://www.cnrancher.com/quick-start/ 部署命令 mkdir /data/rancher -p# 建立存放rancher数据的目录sudo docker run -d --restart=unless-stopped -v /dat......

以谁为师
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部