android 17 activity生命周期

手机指南针传感器处于手机头部。
Activity生命周期:
启动。
onCreat()方法:初始化布局对象,设置监听器。
onstart()方法:注册监听器。
onResume():activity已经是屏幕最前端了,
running,已经是最前端了,可以触摸了,可以响应。
onPause():其他activity把之前的ancity完全遮住了,则调用onPause()方法暂停本acticity,然后调用onStop方法停止这个activity。如果只是部分遮住,则调用onPause()方法暂停本acticity,不调用onStop方法。停止住的acticity的数据和成员变量都是保存的,当挡住的acticity不遮住的时候会重新加载,里面的数据可以重新使用。处于暂停和停止的acticity的数据和成员变量都是保存的可以重新使用。处于暂停和停止的acticity有2种走向,当系统内存不足是会把停止的acticity杀掉,出了暂停的acticity优先级高于停止的acticity,当内存极度缺乏的时候也会杀掉处于暂停的acticity。但系统内存足够的时候,当挡住的activity不再挡住时,处于暂停的acticity调用onResume()方法启动,处于停止的activity调用onRestart()方法启动。
关掉activity时会依次调用onPause()onStop()ondestiry()方法,ondestiry()可以保存数据释放流资源和监听器和网络资源。流资源和数据库占用的是系统内存之外的资源,gc只能回收内存的对象,因此要释放外部资源。
如果系统资源匮乏,处于停止的activity被系统杀掉了则不会执行onDestory(),所以在onStop()方法里面就要释放资源。

第一个activity:

package com.sxt.day04_03;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.i("main","onCreate()");
        setListener();
    }

    private void setListener() {
        findViewById(R.id.button).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, SecondActivity.class);
                startActivity(intent);
            }
        });
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.i("main","onStart()");
    }
    
    @Override
    protected void onResume() {
        super.onResume();
        Log.i("main","onResume()");
    }
    
    @Override
    protected void onPause() {
        super.onPause();
        Log.i("main", "onPause()");
    }
    
    @Override
    protected void onStop() {
        super.onStop();
        Log.i("main","onStop()");
    }
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.i("main","onDestroy()");
    }
    
    @Override
    protected void onRestart() {
        super.onRestart();
        Log.i("main","onRestatr()");
    }
}

第二个activity:

package com.sxt.day04_03;

import android.app.Activity;
import android.os.Bundle;

public class SecondActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
    }

}

 

posted @ 2015-10-16 21:28  无天666  阅读(251)  评论(0编辑  收藏  举报