更改字体样式后,Android应用程序在三星设备上崩溃

时间:2015-07-31 05:54:54

标签: android performance android-fragments android-fonts android-settings

当我尝试更改设备的字体(三星Galaxy Tab3)时我的应用程序出现问题我的应用程序崩溃了。在这种情况下,当我进行字体更改操作时,应用程序在后台工作。

步骤: - 启动应用程序 - 使用状态栏打开设备设置 - 更改设备的字体样式 - 使用最近的应用返回应用 - 崩溃

我尝试在其他设备上测试此方案,但无法重现。我的应用程序仅在三星设备上崩溃,并且仅在系统字体样式发生变化时崩溃。

请帮我找一个崩溃的原因。

先谢谢。

here, I attached the log crash:
07-22 12:26:09.359: E/AndroidRuntime(8110): FATAL EXCEPTION: main
07-22 12:26:09.359: E/AndroidRuntime(8110): java.lang.NullPointerException
07-22 12:26:09.359: E/AndroidRuntime(8110):     at com.acs.nomad.app.widget.h.a(Unknown Source)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at com.acs.nomad.app.b.ap.m(Unknown Source)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at com.acs.nomad.app.d.v.onPause(Unknown Source)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.app.FragmentManagerImpl.removeFragment(FragmentManager.java:1129)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.app.BackStackRecord.popFromBackStack(BackStackRecord.java:662)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.app.FragmentManagerImpl.popBackStackState(FragmentManager.java:1450)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.app.FragmentManagerImpl$2.run(FragmentManager.java:444)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1401)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.os.Handler.handleCallback(Handler.java:615)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.os.Looper.loop(Looper.java:137)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at android.app.ActivityThread.main(ActivityThread.java:4949)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at java.lang.reflect.Method.invokeNative(Native Method)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at java.lang.reflect.Method.invoke(Method.java:511)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1043)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810)
07-22 12:26:09.359: E/AndroidRuntime(8110):     at dalvik.system.NativeStart.main(Native Method)

1 个答案:

答案 0 :(得分:0)

股票Android没有change device's font style

一定是三星TouchWiz的东西。可能是,您应该查看三星特定的SDK。

但如果我是你,我会通过广播接收器听取字体样式的变化。使用Google Play中的Broadcast Monitor应用找出要收听的广播。

然后,我会吞下nullpointer异常,并且每当发生这种情况时我都会重新启动Activity。我意识到这是一个激烈的行动,但在你发现字体样式如何导致nullpointer异常之前,这可能是唯一的解决方法。