APP已更新,修复一些BUG,接下来讲解一下这几天无障碍开发遇到的一些问题。
最大的问题是性能问题。长时间运行,会导致手机卡,特别是监听QQ的红包。我测试过程种发现qq群的消息实在太多,如果保持QQ在前台运行,并监听某个群的红包,那没多久程序就会卡住,所以不建议长时间监听群消息过多的红包。为什么会卡,原理也很简单,因为代码用的AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
界面上内容改变时就会就会调用这个,当QQ群消息频发时,就一直调用这个方法,然后执行里面的检索程序,那肯定就会卡住。
简单一点的处理方法,我们可以直接加个延迟,当调用上面的方法后,让主程序休息1秒
try{Thread.sleep(1000);}catch(InterruptedException e) {e.printStackTrace();}
第二个问题就是微信和QQ在每次更新后都会把控件ID给换了,所以导致每次版本更新后,我们写的代码就无效了,特别是QQ,每次都会变。之前我的方法就每次跟随微信和QQ一起更新,他们更新,我就更新,然后重新打包。但是这样显然很麻烦,所以就不得不写一个后台,APP每次启动时都从后端去取控件ID,这样就不存在被动打包的问题了,只要每次改数据库里的控件ID就可以了,唯一的问题就是需要服务器的成本。
总得来说,用安卓无障碍实现QQ和微信红包自动抢还是挺容易的。
下一章分享一个最近做的小软件。远程拨打电话
...