Android生命周期,点击home键和返回键时的顺序以及MENU菜单键简单测试
2015-11-21 21:41
603 查看
当一个程序执行的时候,启动的方法有
onCreate,onStart,onResume
当点击返回键时的全部顺序为:
onCreate,onStart,onResume,点击返回键,onPause,onStop,onDestroy
再次启动程序时为点击返回键顺序为:
onCreate,onStart,onResume,点击返回键,onPause,onStop,onDestroy
当点击HOME键时的全部顺序为:
onCreate,onStart,onResume,点击HOME键,onPause,onStop
再次启动程序时为点击HOME键顺序为:
onRestart,onStart,onResume,点击HOME键,onPause,onStop
可以看出来,点击HOME键只是讲程序腿到后台,点击返回键是退出程序
点击自己实现菜单键运行顺序为同点击返回键效果一样
下面是源代码
onCreate,onStart,onResume
当点击返回键时的全部顺序为:
onCreate,onStart,onResume,点击返回键,onPause,onStop,onDestroy
再次启动程序时为点击返回键顺序为:
onCreate,onStart,onResume,点击返回键,onPause,onStop,onDestroy
当点击HOME键时的全部顺序为:
onCreate,onStart,onResume,点击HOME键,onPause,onStop
再次启动程序时为点击HOME键顺序为:
onRestart,onStart,onResume,点击HOME键,onPause,onStop
可以看出来,点击HOME键只是讲程序腿到后台,点击返回键是退出程序
点击自己实现菜单键运行顺序为同点击返回键效果一样
下面是源代码
package com.xiaoke.menuhome; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends Activity { private static final String TGA = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TGA, "onCreate"); } //开始创建菜单栏里面的内容 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); //添加选项第二个数字为ItemId menu.add(0, 1, 1, "退出"); menu.add(0, 2, 2, "关于"); return true; } //点击MENU菜单键时调用该函数,通关Id找到对应的选项 @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == 1) { finish(); } return super.onOptionsItemSelected(item); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.d(TGA, "AonStart"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.d(TGA, "AonRestart"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.d(TGA, "AonResume"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.d(TGA, "AonPause"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); Log.d(TGA, "AonStop"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.d(TGA, "AonDestroy"); } }
相关文章推荐
- 设置android图标
- Android测试教程4--定点测试
- android中的坐标系以及获取坐标的方法
- android 5.0 -- 主题
- Android开发中插入新的Activity
- java.lang.ClassCastException android.widget.RelativeLayout LayoutParams 异常
- 实现android注册登陆功能的客户端服务器源码与解析socket
- Android ListView使用
- Android常见控件【一】
- Android中的ListView属性使用总结
- android 常用调试命令
- Android中的Selector的使用总结
- ListView,GridView,ScrollView,ViewPager去除滑动到底的蓝色阴影
- Android TextView 判断文字内容是否超出显示省略号
- Android如何让Handler中内部run停止(runnable/thread)
- 野人学Android第二弹——照片的拍摄与存储(一)
- 实现Android图片轮播
- 【FastDev4Android框架开发】RecyclerView完全解析之结合AA(Android Annotations)注入框架实例(三十)
- Android和JS的简单交互
- Android的Service了解和两种启动方式