关于Android程序性能的有关问题

关于Android程序性能的问题
该软件是商家定制的客户端,商家在后台管理系统上传商品、礼品、优惠活动等信息,然后在客户端上面可以查看、提交订单、兑换礼品等。现在到测试阶段了,发现程序的耗电量非常大,发热非常严重,应该是程序性能的问题。经过简单对比,耗电量约为 大众点评 的2倍。
程序的主要逻辑如下:
1.有一个后台常驻的服务,通过该服务访问网络,然后通过回调将数据返回到Activity中。服务中的线程每500ms循环一下(Thread.sleep(500)),如果当前有任务则访问网络获取数据,否则将什么也不做,继续循环。
2.使用HttpClient请求数据,服务器返回JSON数据,解析,显示。
3.部分页面的内容存入本地数据库,同时将图片存入SD卡中。当再次进入该页面时,如果没有网络则直接读取本地数据,如果网络正常则请求网络,然后更新本地数据,然后再读取本地数据显示出来。
4.主界面使用TabHost加Fragment实现。

请大神帮忙分析一下,那些地方可能对程序性能造成了较大影响?或者推荐一下,有哪些工具可以用来检测一下程序的性能。
性能 网络 数据库

------解决方案--------------------
一般耗电大 个人认为是以下原因
1. 很多数据逻辑可以在服务端处理后在传给客户端,客户端处理逻辑会耗电。
2. 客户端启动了很多线程,线程不仅占用内存,而且需要CPU的调度。
3. 客户端中实例了大量的对象没有释放。
4. 客户端用了一些复杂的逻辑计算,不适合JAVA处理,应该放在JNI C代码中处理。

如果后台服务特别复杂,那就开启一个独立进程处理,用Binder传输数据。减轻客户端进程的负担。
------解决方案--------------------
一般耗电都是由于网络交互太频繁引起,可以想办法降低网络交互次数试试。
------解决方案--------------------
从你的描述分析,应该是网络请求太频繁导致的。
第一 把网络请求的间隔时间延长看看结果。
第二 保证请求时间不变,其它操作不执行。
这样应该就能比较结果了。