Android基础知识,一篇就会

76 阅读2分钟

活动的4种状态:

  • 运行状态:活动位于返回栈栈顶,活动处于运行状态。
  • 暂停状态:活动不处于栈顶,但仍然可见,系统资源吃紧时会被吸收。
  • 停止状态:不再处于栈顶,完全不可见,随时会被系统回收。
  • 销毁状态:一个活动从返回栈中移除后变成了销毁状态。

活动生存期:

  1. onCreate();第一次被创建时调用,活动的初始化操作。
  2. onStart();活动不可见变为可见时调用。
  3. onResume();用户进行交互时调用。
  4. onPause();系统准备去启动或恢复另一个活动的时候调用。
  5. onStop;活动完全不可见时调用。
  6. onDestory();活动被销毁之前调用。
  7. onRestart();活动由停止状态变为运行状态之前调用。活动被重新启动了。

完成生存期:onCreate-->onDestory() 

可见生存期:onStart-->onStop()(活动对于用户是可见的,即便无法和用户进行交互。)

前台生存期:onResume-->onPause()(活动处于运行状态,活动可以和用户进行交互。)

活动的启动模式:

  1. standard:默认的启动模式

  2. singleTop:返回栈的栈顶已经是该活动,则直接使用它,不再创建新的活动。

  3. singleTask:使某个活动在整个应用程序中只存在一个实例,每次启动该活动时,返回栈中是否存在该活动的实例,并把在这活动之上所有活动统统出栈。没有的话,创建一个新的实例。

  4. singleInstance:singleInstance模式的活动会启用一个新的返回栈来管理这个活动。

知晓当前是在哪一个活动:

getClass().getSimpleName()

随时随地退出程序:

public static List<Activity> activities = new ArrayList<>();

public static void addActivity(Activity activity) {

    activities.add(activity);

}
    
public static void removeActivity(Activity activity) {

    activities.remove(activity);

}

启动活动最优写法:

FirstActivity

Intent intent = getIntent();

String data = intent.getStringExtra("param1");

String data2 = intent.getStringExtra("param2”);

Log.d(TAG, data);

Log.d(TAG, data2);

//给上个页面提供intent传递参数的办法,getParam()用来取出方法

public static void actionStart(Context context, String data1, String data2){

    Intent intent = new Intent(context,LiveMainActivity.class);

    intent.putExtra("param1", data1);

    intent.putExtra("param2", data2);

    context.startActivity(intent);

}

SecondActivity

FirstActivity.actionStart(this,”data1啊", “data2啊”);

参考文档:《第一行代码》[郭霖]