Android学习之路——Activity(1)
Android四大基本组件:Activity,Service,BroadcastReceiver,ContentProvider.
这次谈谈Activity:Activity有三种状态,分别是:运行状态,暂停状态,以及停止状态。运行状态:当前Activity可见,并且有焦点,可以触屏得到。暂停状态:Activity可见,但是没有焦点,触摸不到(长按Home,可见后面得Activity)。停止状态:Activity不可见,并且没有焦点,触摸不到。
下图可见Activity的生命周期:
图解:当程序运行时,首先运行onCreate()方法,然后运行onStart()方法,最后运行onResume()方法。程序就开始运行了,如果这个时候有另外一个Activity运行到当前Activity的前面了,就是执行onPause()方法,onStop()方法会在当前Activity不可见得时候,也就是没有焦点了只有执行。(左边)这个时候如果有其他的优先级更高的进程要求内存空间时,系统会杀死Activity,应用程序被彻底停止,内存被释放,当用户重新进入该Activity,则重新执行onCreate()方法。(右边)如果当前Activity暂停,例如长按HOME键,会出现最近使用的应用程序,返回键重新回到Activity,则会重新回到onResume()方法。假如Activity处于停止状态的话,用户重新回到Activity,则会执行onRestart()方法,并且重新执行onStart()方法。当Activity完成或者被系统Destroy的时候,会执行onDestroy()。
下面是测试代码:
@Overrideprotected void onCreate() { super.onStart(); System.out.println("onCreate");} @Overrideprotected void onStart() { super.onStart(); System.out.println("onStart");}@Overrideprotected void onResume() { super.onResume(); System.out.println("onResume");}@Overrideprotected void onPause() { super.onPause(); System.out.println("onPause");}@Overrideprotected void onStop() { super.onStop(); System.out.println("onStop");}@Overrideprotected void onDestroy() { super.onDestroy(); System.out.println("onDestroy");}
通过实际操作可以在Logcat上面看到一系列信息的输出。当程序安装完成可以看到输出信息:onCreate,onStart,onResume。点击HOME键,可以看到信息:onPause,onStop。回到上个Activity,输出信息:onRestart,onStart,onResume。点击返回按钮,输出:onPause,onStop,onDestroy。
Activity操作:在AndroidManiFest.xml文件中,可以更改Activity的Theme。
例如:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity></application>
此处是将Activity设置为没有标题栏的黑色背景。(android:theme=”@android:style/Theme.Black.NoTitleBar)
更多相关文章
- Android类参考---Fragment(五)
- android学习笔记NO.3
- Android(安卓)第三天(下午)
- Android(安卓)微信分享图片!!!
- android中path的arcTo方法的使用 .
- Android(安卓)消息处理机制: Handler 中 sendMessage()方法的几
- Anko for Android
- Android中的Handler的post方法详解
- Android(安卓)APP中卸载其他APP的三种方法