1. Activity的生命周期
- onCreate:Activity在启动时会被创建,后面一般不会在调用该方法(除非例外情况,将Activity回收,例如内存不足);
- onStart:Activity启动时,会调用该方法;
- onResume:Activity可视化时,会调用该方法;
- onPause:Activity不可见时,会调用该方法;
- onStop:Activity完全不可见时,会调用该方法;
- onDestroy:Activity被回收时,会调用该方法。
- onRestart:上一个Activity没有被回收时,返回可以调用该方法(例如,通过startActivity跳转另一个Activity,可以使用finish返回上一个Activity,此时系统就会调用onRestart方法)
2. Toast
该方法主要作用是弹框,Toast.makeText(Context context, CharSequence text, @Duration int duration)
- context:上下文内容
- text:显示的文本
- duration:弹框展示的时长(Toast.LENGTH_SHORT、Toast.LENGTH_LONG)
例子:Toast.makeText(MainActivity.this, “弹框学习”, Toast.LENGTH_LONG);
3. Intent
该方法主要用于Activity的转递,Intent(Context packageContext, Class<?> cls);
- packageContext:当前Activity上下文
- cls:跳转的Activity实体类
一般跟startActivity一起使用,达到跳转试图的作用。
4. registerForActivityResult
该方法主要用于接收上一个Activity返回的数据,
registerForActivityResult(
@NonNull ActivityResultContract<I, O> contract,
@NonNull ActivityResultCallback callback)
- contract:数据格式限制,new ActivityResultContracts.StartActivityForResult()
- callback:数据回调接口,onActivityResult(ActivityResult result),函数式接口。
5. onSaveInstanceState
该方法用于某个Activity被回收后,先前数据无法获取的情况。可以提前将重要数据放在该方法的Bundle上。然后再Activity的onCreate添加判空逻辑(如果为null,则取savedInstanceState中拿数据)了。
6. Activity的启动模式
- standard:每次需要活动都重新创建
- singleTop:每次去栈顶查需要的活动,不在栈顶就重新创建
- singleTask:在当前应用程序中只存在一个单实例
- singleInstance:在所有程序的上下文,都只存在一个单实例(会开辟一个单例栈,存放单实例)
在AndroidManifest.xml的activity标签中配置,android:launchMode=“singleInstance”。