最近在2.2写了一个电子邮件桌面widget,功能已经完成了,但是有个问题是切换上一条下一条邮件的时候越来越卡,来越卡,越卡,卡
每点一次按钮,adb log 打印下面这种信息:D/dalvikvm(  116): GC_FOR_MALLOC freed 20239 objects / 719208 bytes in 178ms
D/dalvikvm(  116): GC_FOR_MALLOC freed 20157 objects / 712472 bytes in 83ms刚开始每翻一封邮件打印一条,翻到后来甚至打印4条,点完三秒钟后才能翻到下一封邮件,受不了的卡
我做了如下检查,但是貌似都没有发现问题
1、查询数据库的cursor是否关闭 [否]
2、是否使用大量栈空间  [否,正常使用适当局部变量]
3、是否频繁new对象 [否,我甚至将PendingIntent弄成成员变量]
4、是否虚拟机内存空间太小 [否,我用emulator -partition-size 1024 @EmailWidget 启动,够大了,而且在公司的手机上也试过了,还是越来越卡]
5、是否因为信号的不到处理而阻塞 [否,我写了一个Service用handler处理各种消息,阻塞也不可能阻塞这么久啊]
6、是否频繁进行UI操作 [否,每次更新界面以前,我做了判断,屏蔽不需要的更新]还有几天要code review,真着急啊,还请各位大牛帮帮忙