1.Activity生命周期

2.Service生命周期
使用context.startService() 启动Service
其生命周期为context.startService() ->onCreate()- >onStart()->Service running-->context.stopService() | ->onDestroy() ->Service stop
所以调用startService的生命周期为:onCreate --> onStart(可多次调用) --> onDestroy
context.bindService()->onCreate()->onBind()->Service running-->onUnbind() -> onDestroy() ->Service stop
所以调用bindService的生命周期为:onCreate --> onBind(只一次,不可多次绑定) --> onUnbind --> onDestory。
3.请说明.9的4边作用
顶部:黑色条位置向下覆盖的区域表示图片横向拉伸时,只拉伸该区域
左边:黑色条位置向右覆盖的区域表示图片纵向拉伸时,只拉伸该区域
右边:黑色条位置向左覆盖的区域表示图片纵向显示内容的区域
底部:黑色条位置向上覆盖的区域表示图片横向显示内容的区域
4.Activity如何传输数据
基于消息的传输
基于Service的传输
Service是提供了直连机制,调用的Activity,可以通过 bindService 方法,与目标Service建立一条数据通路,拿到 IBinder 。这样,通过Android提供的IPC模型,就可以进行远程方法的调用和数据的传输了。利用Application传输
在Activity中,可以通过 getApplication 接口,随时获得Application对象的引用,用于实现一些全局对象的存储,和处理,真是最合适不过的地方了。
5.浅 谈 o n I n t e r c e p t T o u c h E v e n t 、 o n T o u c h E v e n t 与 o n T o u c h
1. down事件首先会传递到onInterceptTouchEvent()方法
2. 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,那么后续的move, up等事件将继续会先传递给该ViewGroup,之后才和down事件一样传递给最终的目标view的onTouchEvent()处理。
3. 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return true,那么后续的move, up等事件将不再传递给onInterceptTouchEvent(),而是和down事件一样传递给该ViewGroup的onTouchEvent()处理,注意,目标view将接收不到任何事件。
4. 如果最终需要处理事件的view的onTouchEvent()返回了false,那么该事件将被传递至其上一层次的view的onTouchEvent()处理。
5. 如果最终需要处理事件的view 的onTouchEvent()返回了true,那么后续事件将可以继续传递给该view的onTouchEvent()处理。
6. 如果是子View的 onTouchEvent() 返回了true的话,在ViewGroup中的onInterceptTouchEvent()就能截取到move 和up了。如果是当前ViewGroup中的onTouchEvent()最终消费了此次的事件,那不onInterceptTouchEvent()就不能截取到move和up事件了。
1112

被折叠的 条评论
为什么被折叠?



