1 不要把所有的语言资源都放到strings.xml里,按照模块来划分,比如登录模块的资源,放到strings_account.xml
2 静态内部类会持有外部类对象的引用。如果在Activity内部创建了一个handler的内部类,则会持有Activity的引用,而message对象会持有handler的引用,所以当Activity已结束但message还存在的时候,则有message->handler->Activity这样一条引用链,导致Activity无法释放。
解决方案:
1)不要定义内部类,单独创建一个类文件
2)使用静态内部类,这样就不会持有外部类的引用。用weakReference来保存外部类对象的弱引用。
3 不要把状态变量放到Application里,因为程序重启时,application对象会销毁,可以考虑放到sharePreference里。
4 当保持某个变量的状态时,要考虑到程序初始化、程序重启、状态变化通知,确保状态一致。
5 手机与手表连接时,会同步apk到手表上,蓝牙协议栈一直处理这些信息,会导致hfp打电话失败。
解决方案有两种:
1)蓝牙协议栈设置优先级,优先处理打电话等操作
2)手表界面给出提示“正在同步apk,电话功能暂不可用”