android面试时生命周期与handler、HandlerThread

android面试时生命周期与handler、HandlerThread

ID:40545749

大小:31.50 KB

页数:3页

时间:2019-08-04

android面试时生命周期与handler、HandlerThread_第1页
android面试时生命周期与handler、HandlerThread_第2页
android面试时生命周期与handler、HandlerThread_第3页
资源描述:

《android面试时生命周期与handler、HandlerThread》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、关于activity:生命周期用户进入A界面调用A的(初始化信息onCreate、可见onStart、人机交互onResume)由A通过Intent完成跳转进入B时调用A的(onPause)然后调用B的(初始化信息onCreate、可见onStart、人机交互onResume)如果A的界面完全不可见则会调用A的onStop由B返回A时调用B的onPause,然后调用A的(初始化信息onRestart、可见onStart、人机交互onResume)调用B的onStop再调用B的onDestroy销毁B,android的缓存是不可逆的

2、,只能回退不能向前,在activity的生命周期中,只要离开了可见阶段,或者说失去了焦点,activity就很可能被进程终止了被KILL掉了,这时候,就需要有种机制,能保存当时的状态,这就是savedInstanceState的作用。当一个Activity在PAUSE时,被kill之前,它可以调用onSaveInstanceState()来保存当前activity的状态信息(在paused状态时,要被KILLED的时候)。用来保存状态信息的Bundle会同时传给两个method,即onRestoreInstanceState()a

3、ndonCreate().关于线程与handlerHandler: Handler在android里负责发送和处理消息。它的主要用途有:  1)按计划发送消息或执行某个Runnanble(使用POST方法);2)从其他线程中发送来的消息放入消息队列中,避免线程冲突(常见于更新UI线程)publicclassDemoHandlerextendsActivity{/**Calledwhentheactivityisfirstcreated.*/privateButtonbtn01,btn02;@Overridepublicvoidon

4、Create(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);btn01=(Button)findViewById(R.id.Button01);btn02=(Button)findViewById(R.id.Button02);btn01.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//执行把线

5、程添加到主线程中handler.post(update);}});btn02.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//执行把线程从主线程移除任务handler.removeCallbacks(update);}});}//创建Handler对象Handlerhandler=newHandler();//将要执行的操作写在线程对象的run方法当中Runnableupdate=newRunnable(){@Overridep

6、ublicvoidrun(){//TODOAuto-generatedmethodstubSystem.out.println("000");//每三秒執行一次update方法即从新执行该方法handler.postDelayed(update,3000);}};}(第一步创建一个Handler对象,第二步写一个Runnable线程,实现里面的run方法,在run方法中handler的postDelayed方法(每3000毫秒启动一次update方法)第三步给控件btn一个监听,调用handler.psot和handler.rem

7、oveCallbacks方法压入线程和移除线程。这一个过程不存在创建新线程的行为,只是完成的调用)publicclassHandlerThreadDemoextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);setContentView(R.layout.main);System.out.println("act

8、ivityId-->"+Thread.currentThread().getId());//创建一个HandlerThread对象,HandlerThreadht=newHandlerThread("handler_thread");ht.star

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。