android中的性能具体优化

本文介绍如何通过合理使用线程和优化网络操作来提高App的响应速度。包括将耗时操作移到后台线程处理,选择合适的网络数据格式及减少不必要的网络请求等实践方法。

一使用线程操作
在我们应用中总能出现线程的身影, 那么线程也是很占用资源的, 我们应该怎么操作来让app的响应得到优化呢, 我们的更新操作全部是在主线程,如果我们也让线程在主线程运行无疑会导致系统卡顿,ANR一些问题,所以为了加快响应,我们把费时操作(网络请求, 数据库访问,复杂的计算)移动到单独的一个线程完成,可以使用AsyncTask (异步任务)或者IntentService来创建后台操作.它在需要的时候开启使用IntentService注意:1这个类不要给UI传递信息,如果要向用户展示处理结果信息用Activity;2,每次只能处理一个请求.3.每一个请求过程都不能中断;

在UI中移出费时操作,这个方式可以防止ANR出现,继承AsyncTask来创建一个后台工作线程, 并实现doingBackground()方法.或者自己创建一个Thread类或者HandlerThread类,需要注意这样会使app变慢,因为默认的线程优先级和主线程是一样的,除非你明确设定线程的优先级;
二优化网络
网络连接,让应用在网络连接并且无漫游的情况下更新数据;
选择兼容的数据格式, 把含有文本数据和二进制数据的请求全部转成二进制数据的格式请求;
使用高效的转换工具, 多考虑使用流式转换工具, 少用树形转换工具;
减少重复访问服务器的操作,
如果使用framework的GZIP库来压缩文本数据以高效使用CPU资源
优化应用在前端的工作
防止潜在的bug导致电量消耗,明确指定超时时间;
除了系统的GC操作, 考虑手动回收java对象, 确保service生命周期都是短暂的因为每个进程都需要2mb的内存, 所以需要确保service生命周期短暂.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值