getActivity / MultiLanguages

Android 多语种适配框架,兼容高版本,适配第三方库语种
Apache License 2.0
982 stars 123 forks source link

[疑惑]:组内有严格模式下的要求 #45

Closed peter100u closed 3 months ago

peter100u commented 4 months ago

问题描述【必填】

D StrictMode policy violation; ~duration=71 ms: android.os.strictmode.DiskWriteViolation at android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:1622) at libcore.io.BlockGuardOs.open(BlockGuardOs.java:272) at libcore.io.IoBridge.open(IoBridge.java:560) at java.io.FileOutputStream.(FileOutputStream.java:236) at com.samsung.android.localeoverlaymanager.LogWriter.logToFile(LogWriter.java:67) at com.samsung.android.localeoverlaymanager.LogWriter.logDebugInfoAndLogcat(LogWriter.java:34) at com.samsung.android.localeoverlaymanager.Utils.setCurrentUserId(Utils.java:47) at com.samsung.android.localeoverlaymanager.LocaleOverlayManagerWrapper.(LocaleOverlayManagerWrapper.java:41) at com.samsung.android.localeoverlaymanager.LocaleOverlayManagerWrapper.getInstance(LocaleOverlayManagerWrapper.java:49) at com.android.server.locales.LocaleManagerService.setApplicationLocales(LocaleManagerService.java:277) at com.android.server.locales.LocaleManagerService$LocaleManagerBinderService.setApplicationLocales(LocaleManagerService.java:194) at android.app.ILocaleManager$Stub.onTransact(ILocaleManager.java:135) at android.os.Binder.execTransactInternal(Binder.java:1375) at android.os.Binder.execTransact(Binder.java:1311)

via Binder call with stack:

                                                                                                    at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:2538)
                                                                                                    at android.os.Parcel.readExceptionCode(Parcel.java:3014)
                                                                                                    at android.os.Parcel.readException(Parcel.java:2975)
                                                                                                    at android.app.ILocaleManager$Stub$Proxy.setApplicationLocales(ILocaleManager.java:217)
                                                                                                    at android.app.LocaleManager.setApplicationLocales(LocaleManager.java:111)
                                                                                                    at android.app.LocaleManager.setApplicationLocales(LocaleManager.java:76)
                                                                                                    at com.hjq.language.MultiLanguages.init(MultiLanguages.java:58)
                                                                                                    at com.hjq.language.MultiLanguages.init(MultiLanguages.java:33)
                                                                                                    at io.liuliu.music.InYuApplication.onCreate(InYuApplication.kt:87)
                                                                                                    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1316)
                                                                                                    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7711)
                                                                                                    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
                                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478)
                                                                                                    at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                    at android.os.Looper.loopOnce(Looper.java:230)
                                                                                                    at android.os.Looper.loop(Looper.java:319)
                                                                                                    at android.app.ActivityThread.main(ActivityThread.java:8919)
                                                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
                                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

peter100u commented 4 months ago

不确定是否存在性能问题,所以提出疑惑

getActivity commented 4 months ago

小伙子,不要丢这类不确定的问题给我,如果你有这方面的需求,你需要经过测试验证后,再反馈给我处理。

getActivity commented 4 months ago
image
peter100u commented 4 months ago

感谢回复,我只是开启严格模式下,出现了上图中问题,但是你框架中的提示,我并不确定会对性能是否有影响,所以提了一个疑问,希望讨论下

GGjin commented 4 months ago

我看线上日志也报了同样的bug,调用init方法 报出来的。

image

我这边报的是权限的问题。但是我看前面的调用链是一样的。 三星 S22 ultra Android13的手机

peter100u commented 4 months ago

我这个是说他在at com.hjq.language.MultiLanguages.init(MultiLanguages.java:58)中做了io操作,但是在主线程