WorkManager的学习和使用要点笔记
1.在oppo Android 5.1手机上报错Invoke-customs are only supported starting with Android O
解决办法:在app的build.gradle中添加
android{ compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
2.WorkManager的第一次初始化发生在AndroidManifest的加载和解析中
在Android studio中点击apk文件会显示所包含的文件列表,点击查看AndroidManifest.xml就能看到将WorkManagerInitializer添加到了AndroidManifest.xml中,WorkManagerInitializer中对WorkManager进行了第一次初始化
3.WorkManager的实现原理:
遇到的问题:
点击按钮,有网络的情况下执行sleep 8秒,然后num+1,把num存到Sharepreference中,关闭网络,杀了进程,开启网络,等待8秒,进入app,视频中的num已经改变咯,但是Android9和Android10杀了进程之后不能立即执行,而是需要重新开启app才开始执行(需要打开app再等待8秒num才会改变),然后Android 5.1重新开启app之后也无法执行了(num不会改变)。
demo代码:
上一篇:
通过多线程提高代码的执行效率例子