前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android Activity生命周期 之starting an activity

Android Activity生命周期 之starting an activity

作者头像
week
发布2022-11-26 10:41:59
5540
发布2022-11-26 10:41:59
举报
文章被收录于专栏:用户画像用户画像

http://developer.android.com/training/basics/activity-lifecycle/starting.html#launching-activity

这是从Andorid网站上一句一句翻译过来的,小编英语不太好,有什么不对的,还望指出。

一、应用程序启动Activity

当用户在桌面上点击应用程序按钮,系统会调用应用程序Activity的onCreate()方法来初始化activity。这个activity是为用户提供应用程序的接口。

可以在AndroidManifest.xml中设置哪一个Activity作为主Activity.

主Activity必须为你的应用程序申明<intent-filter>,其中包括Main action和Launcher catgory.

比如

代码语言:javascript
复制
<activity android:name=".MainActivity" android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

如果两者都没有为你的activity声明,那么你的应用程序将不会出现在app列表中。

二、新建一个新的实例

大多数app包括多种不同的activity,允许用户执行不同的操作。无论一个activity是主activity,当用户点击应用图标或者不同的activity,你的app开始为用户的操作做出响应,系统每创建一个Activity实例,都要调用onCreate()方法。

在activity的整个生命周期里,你必须实现onCreate的方法来执行基本的应用启动逻辑,例如定义用户的接口,初始化全局变量。

代码语言:javascript
复制
TextView mTextView; // Member variable for text view in the layout

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Set the user interface layout for this Activity
    // The layout file is defined in the project res/layout/main_activity.xml file
    setContentView(R.layout.main_activity);
    
    // Initialize member TextView so we can manipulate it later
    mTextView = (TextView) findViewById(R.id.text_message);
    
    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        // For the main activity, make sure the app icon in the action bar
        // does not behave as a button
        ActionBar actionBar = getActionBar();
        actionBar.setHomeButtonEnabled(false);
    }
}

当onCreate()执行结束,系统将调用onStart()和onResume方法,你的activity永远不会停留在创建和开始阶段。当onStart()方法被调用时,Activity开始对用户可见,紧接着执行onResume方法,Activity将一直保持onResume状态,直至一些事件发生,比如接电话,用户的导航指向其他activity,或者设备屏幕熄灭。

三、结束Activity

大多数app不必实现该方法,因为本地类引用随着Activity而消失,你的Activity进程在onPause()和onStop()过程中被清理了绝大部分。然而,如果你的Activity在创建时包括后台进程,或者其他长期运行的资源,如果它们不被正确关闭,会潜在地造成内存泄露,你应该在onDestroy阶段结束它们。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com