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代码:

经验分享 程序员 微信小程序 职场和发展