1.Message对象
尽量用Handler.obtainMessage或者Message.obtain()方法,尽量不使用new Message()对象。前两种方法是从Message对象的回收池中获取一个,重复利用。
2.Thread线程
在使用线程Thread的时候,若该线程所做的动作需要一定的时间,例如对数据库查询,Http请求,则需要使用Thread.start()方式。而非使用Thread.run();原因是由于前者是开启一个线程,二后者是调用方法。
3.后台APP以后,APP重启
若在Manifest中定义了一些Activity的aunchMode="singleTask",若APP后台时候,并未进入该Activity,后台APP,则不会导致该问题出现。
下面说一下怎么样会导致该问题的产生
假如有A,B,C,D四个Activity,其中C的aunchMode="singleTask",其他的默认,当A跳转到B,B跳转C,当前天页面为C时候,后台APP,再次点击APP图标,C还是会展现在前台,这时候,跳转到D,当前台页面处于D的时候&#x