regex
默认是区分大小写的 还有空格换行等字符是和前一个字符连接的(这是吊诡的地方)也就是说如果要搜索text here中的ext,是搜索不到的,只有搜索ext 才行(加了空格)
android中的String.matchs("")的regex老是搞不懂,还是用contains最简单了。有需要的时候再研究一下把。
非!
或|
与&
一个%
0个或多个*
不区分大小写/i
broadcast 如果app不启动的话,接受不到。这和说明不一样。要解决(虚拟机是可以不运行就接受广播,实际手机不行。不知道为什么)PS:在logcat连接手机之后,选择no-filter之后显示手机所有的log,再过滤我的包名,发现Process is not permitted to autostart boot complete broadcast receiver。解决方案就是在小米的security程序里自动启动设置为允许就好了。(实验过也的确可行)得出结论,如果实际手机和虚拟机不一样,多半是手机设置搞的鬼,可以先到手机logcat里查问题。
service手动启动startservice的确会在后天一直run,但是系统也会按照情况关闭这个服务。有的时候我发现系统是会重启我的服务来启动我的app。但是不运行服务里的程序.似乎它不执行oncreate。
jobservice workmanager asynctask
三元表达式(ternary statement)只能用于赋值,不能代替判断
今天发现一个好玩的,savedInstanceState 居然是存在硬盘上的。但是只恢复由于系统导致的程序stop,用户导致的不会恢复。而且效率没有直接保存在硬盘里高。而且只在onStop中调用。
效率最高的是ViewModel,它放在内存中。但是局限就是被系统或用户杀掉之后不保存。
用户按下back按钮,程序会调用onDestroy,但是强杀不会调用。