锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究
安卓Activity启动在10.0下闪退
背景
近期开发的安卓App在数据量大时,安卓10.0下启动Activity时闪退,安卓8.0下不闪退,确定是Activity启动时传数据量大问题造成,前期已经改过一版数组换成文本形式传递,现在文本数据量大,也造成闪退,所以另行解决方案。
用静态变量在Activity之间传递数据
出问题的传递方式是getStringExtra,这个方式出问题也没有彻底解决可能,哪就不传递,把数据变量改为静态变量,让其它类都可以访问,也就不用传递了。但是在处理时,发现2个Activity不在一个项目里,一个是lib项目,一个是主项目,这就导致了其它工作量。
程序包R不存在
lib代码放主项目代码里,lib代码报这样的错,用导入包名解决。
import cafe.adriel.androidaudiorecorder.retry.R;
import包找不到
build.gradle里加上
implementation 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.kailashdabhi:om-recorder:1.1.0'
compile 'com.cleveroad:audiovisualization:1.0.0'
Unable to resolve additional project configuration
Warning:root project 'AndroidAudioRecorder-retry': Unable to resolve additional project configuration.
Details: org.apache.tools.ant.BuildException: Basedir D:\AndroidAudioRecorder-retry\lib does not exist setting.gradle里
Include ‘:app’,’:lib’里去掉lib
Unable to find explicit activity class
Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {cafe.adriel.androidaudiorecorder.retry/cafe.adriel.androidaudiorecorder.AudioRecorderActivity}; have you declared this activity in your AndroidManifest.xml?
Error inflating class
setContentView(R.layout.aar_activity_audio_recorder);
上面一行报下面错
android.view.InflateException: Binary XML file line #106: Binary XML file line #106: Error inflating class cafe.adriel.androidaudiorecorder.MongolEditText。
布局xml里改下界面类的类名,因为lib项目不存在了,都有一个项目,包名类名改了,要用新的。