重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

重识Activity——生命周期详解

1. 单个Activity生命周期
*  显示状态——onCreate()、onStart()、onResume()
* 隐藏状态——onPause():部分可见、onStop():隐藏,黑屏状态
* 销毁——onDestroy()


2. 多个Activity生命周期交互
* 第一个Activity启动——依次调用onCreate()、onStart()、onResume ()
* 第二个Activity启动——第一个activity调用onPause (),第二个activity调用onCreate ()、onStart()、onResume(),第一个Activity调用onStop()
* 再次返回第一个activity—— 第二个Activity调用onPause ()、第一个Activity调用onRestart():不用再onCreate()、onStart()、onResume ();此时第二个Activity调用onStop()、onDestroy(),此时第二个Activity生命周期结束


3. Activity生命周期交互设计思想


* 例子:当处在音乐播放页面时,此时来电,音乐activity调用onPause (),重写该方法暂停音乐,否则会影响通话;
* 另一方面,音乐activity调用onPause ()后,紧接着调用onStop(),电话结束后,再次回到音乐播放页面就是黑屏了


4. 横竖屏切换


* 切换时相当于创建了一个新的Activity,原有的activity生命周期结束
* 切换时,可以通过onSaveInstanceState 方法中Bundle对象保存切换前activity信息,然后在onCreate()的Bundle对象获取


5. Activity生命周期的应用


* onPause ()——添加暂停该页面的其他操作
* onResume ()——当返回页面时,添加恢复原有页面的操作
* onDestroy()——结束该页面时,释放该页面其他操作的资源


6. 启动Activity


* 直接启动

* 只通过Intent——Intent intent=new Intent(one.this, two.class);
* 辅以Component——Intent intent=new Intent();ComponentName component=new ComponentName(one.this, two.class);  intent.setComponent(component );startActivity(intent);


* 匿名启动

* 在AndroidManifest中对应的activity添加——》——》intent.setAction("1");——》startActivity(intent);


* 启动系统常见Activity

* 启动浏览器——intent.setAction(Intent.ACTION_VIEW);Uri url=Uri.parse("http://www.imooc.com"); intent.setData(url);startActivity(intent);
* 启动相册——intent.setAction(Intent.ACTION_GET_CONTENT);intent.setType(“p_w_picpath/*”);startActivity(intent);
* 发送短信——intent.setAction(Intent.ACTION_SEND);intent.setType(“text/plain”);intent.putExtra(Intent.EXTRA_TEXT,"hello !");startActivity(intent);
* 打开电话——intent.setAction(Intent.ACTION_VIEW );Uri url=Uri.parse("tel:123456"); intent.setData(url); startActivity(intent);
* 其它页面可以通过Android文档查看Intent

创新互联建站专注于企业网络营销推广、网站重做改版、湖里网站定制设计、自适应品牌网站建设、成都h5网站建设电子商务商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为湖里等各大城市提供网站开发制作服务。


新闻名称:重识Activity——生命周期详解
转载源于:http://cqcxhl.com/article/phdcpc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP