原因:
使用相机资源导致出现的错误
错误日志:
2022-04-13 11:22:18.803 11350-11350/com.example.camera E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.camera, PID: 11350
java.lang.RuntimeException: getParameters failed (empty parameters)
at android.hardware.Camera.native_getParameters(Native Method)
at android.hardware.Camera.getParameters(Camera.java:2234)
at com.example.camera.MediaRecoderActivity.initializeRecorder(MediaRecoderActivity.java:128)
at com.example.camera.MediaRecoderActivity.startRecoder(MediaRecoderActivity.java:102)
at com.example.camera.MediaRecoderActivity.onClick(MediaRecoderActivity.java:67)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25889)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6746)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
原因分析:
通过debug,逐行运行,发现进入到activityThread类中,在修改activity状态时,释放不掉activity。
解决方式:
通过修改activty的lanchMode为:singleTask,解决了此问题。
android:launchMode="singleTask"