阿里Android开发手册笔记---基本组件

1、Activity 间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable

的方式,可以考虑 EventBus 等替代方案,以免造成 TransactionTooLargeException

2、Activity 间通过隐式 Intent 的跳转,在发出 Intent 之前必须通过 resolveActivity

检查,避免找不到合适的调用组件,造成 ActivityNotFoundException 的异常

3、如果广播仅限于应用内,则可以使用 LocalBroadcastManager#sendBroadcast()实

现,避免敏感信息外泄和 Intent 拦截的风险

4、不要在 Activity#onDestroy()内执行释放资源的工作,例如一些工作线程的
销毁和停止,因为 onDestroy()执行的时机可能较晚。可根据实际需要,在

Activity#onPause()/onStop()中结合 isFinishing()的判断来执行

5、当前Activity的onPause方法执行结束后才会执行下一个Activity的onCreate
方法,所以在 onPause 方法中不适合做耗时较长的工作,这会影响到页面之间的跳

转效率

6、不要在 Android 的 Application 对象中缓存数据。基础组件之间的数据共享

请使用 Intent 等机制,也可使用 SharedPreferences 等数据持久化机制。

7、使用 Toast 时,建议定义一个全局的 Toast 对象,这样可以避免连续显示
Toast 时不能取消上一次 Toast 消息的情况(如果你有连续弹出 Toast 的情况,避免

使用 Toast.makeText)。

8、使用 Adapter 的时候,如果你使用了 ViewHolder 做缓存,在 getView()的
方法中无论这项 convertView 的每个子控件是否需要设置属性(比如某个 TextView
设置的文本可能为 null,某个按钮的背景色为透明,某控件的颜色为透明等),都需
要为其显式设置属性(Textview 的文本为空也需要设置 setText(""),背景透明也需要
设置),否则在滑动的过程中,因为 adapter item 复用的原因,会出现内容的显示错















猜你喜欢

转载自blog.csdn.net/qq_28791419/article/details/79842277