android基础学习<二>--->Activity的来龙去脉

本文详细解析了Android中的Activity及其生命周期管理,包括running、paused、stop等状态,并通过Activity类的源码展示了关键方法的实现过程。理解Activity生命周期对于开发高质量Android应用至关重要。

    android中的Activity是一个非常重要的组成部分。要想学好并用好android,就必须要将activity学好。并充分理解到位!

    Activity是一个app的非常重要的组成部分,可以说每个app都不能离开Activity而独立存在。可见充分理解并用好Activity的重要性是多么的大。当一个Activity一旦没创立起来后其就会处于一下4种状态中的一种。

1、running状态,官方api上的原话是:If an activity in the foreground of the screen (at the top of the stack), it is active or running.我们姑且把他称为是running状态。

2、paused状态,我们将其称为是暂停状态。即当一个Activity失去app焦点,用官方的话说就是A paused activity is completely alive,but can be killed by the system in extreme loe memory situations.

3、stop状态,当这个activity的window is hidden的时候。就可以认为activity是处于stop状态,当系统memory不足是也是可以将其kill的。

4、当一个activity处于paused状态or stop 状态的时候,系统可以重新调用或者直接将其kill。

说了这么多,还是有点云里雾里的感觉。看一下Activity的生命周期图就明白了:


    从图中可以看出,一个Activity自建立运行到结束被完全释放。一共所设计到有7个方法。Activity其实也是继承了ApplicationContext类,且看Activity类的细节:

public class Activity extends ApplicationContext {
     protected void onCreate(Bundle savedInstanceState);

     protected void onStart();
     
     protected void onRestart();

     protected void onResume();

     protected void onPause();

     protected void onStop();

     protected void onDestroy();
 }


<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hik.netsdk.SimpleDemo"> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- <uses-permission--> <!-- android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"--> <!-- tools:ignore="ProtectedPermissions" />--> <!-- <uses-permission--> <!-- android:name="android.permission.READ_LOGS"--> <!-- tools:ignore="ProtectedPermissions" />--> <application > <activity android:name=".View.MainActivity" android:exported="true" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".View.VideoDecoder" /> <!-- 其他活动声明 --> <!-- <activity android:name=".View.BusinessUI.Fragment.FragTest2.FragTest2Activity" />--> <!-- <activity android:name=".View.DevMgtUI.AddDevActivity" />--> <!-- <activity android:name=".View.DevMgtUI.DevInfoActivity" />--> <!-- <activity android:name=".View.BusinessUI.Fragment.Preview.FragPreviewBySurfaceView" />--> <!-- <activity android:name=".View.BusinessUI.Fragment.Preview.FragPreviewByTextureView" />--> <!-- <activity android:name=".View.BusinessUI.Fragment.PlayBack.FragPlayBackByTime" />--> <!-- <activity android:name=".View.BusinessUI.Fragment.PlayBack.FragPlayBackByFile" />--> <!-- <activity android:name=".View.BusinessUI.Fragment.PlayBack.FragPlayBackTheSelectFile"></activity>--> </application> </manifest> 解决报错:`VideoDecoder` must extend android.app.Activity
06-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值