1、界面配置发生变化,如何保存数据?
(1)本地存储
(2)onSaveInstanceState()
(3)ViewModel
2、Android 多窗口是哪个系统的新特性?
Android 7.0 及以上系统才有的特性。
3、taskAffinity 是用来干什么的?
是用来标记Activity 属于哪个栈的。
4、如何在页面上获得栈的id?
通过在页面中通过taskId来获得栈id。
5、android:clearTaskOnLaunch 是用来干什么的?
用在页面配置上,告诉系统,当启动的时候,栈中只能有首页。
6、当页面的启动模式为singleTask 或者是singleTop,启动的时候,会执行什么生命周期方法?
会执行onNewIntent 方法。
7、四种启动模式是什么?
通常模式、栈内复用模式(singleTask)、栈顶复用模式(singleTop)、重新创建栈模式(singleInstance)
8、假设有MainActiviy,然后依次启动BC界面,在C界面中通过下面代码启动了MainActivity,效果是什么?
Intent intent = new Intent(ThirdActivity.this,MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
BC页面被销毁了,同时MainActivity 被重新创建了。
9、假设有MainActiviy,然后依次启动BC界面,在C界面中通过下面代码启动了MainActivity,效果是什么?
Intent intent = new Intent(ThirdActivity.this,MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
BC页面被销毁了,同时MainActivity 执行了onNewIntent方法,不会被重新创建。
10、动态规划是什么?
用上一个数据去请求下一个数据。
20220713
11、 kotlin中listOf()方法返回的是什么类型?
EmptyList
12、val list = mutableListOf() 方法返回的是什么类型?
ArrayList
20770714
13、如何获得方法的调用位置?
(1)通过new Exception().getStackTrace() 来获得堆栈信息。
(2)通过Thread.currentThread().stackTrace 来获得堆栈信息。
14、Java中调用kotlin中方法的坑 @JvmStatic。
kotlin中定义了一个类A,类中定义了一个方法test,test上增加了注解@JvmStatic
以为在Java中可以通过A.test()调用,发现不行,必须得通过A.Companion.test()方法调用。
15、kontlin中for循环如何写?
for (element in stackTraceElement) {
result += element.toString() + "\n";
}