noties / Markwon

Android markdown library (no WebView)
https://noties.io/Markwon/
Apache License 2.0
2.76k stars 313 forks source link

The phone crashes when the network is turned off #391

Closed zwc456baby closed 2 years ago

zwc456baby commented 2 years ago
2022-03-09 23:10:43.194 9488-9520/top.lyfzn.mediaquickkt W/System.err: Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
2022-03-09 23:10:43.194 9488-9520/top.lyfzn.mediaquickkt W/System.err:     at libcore.io.Linux.android_getaddrinfo(Native Method)
2022-03-09 23:10:43.194 9488-9520/top.lyfzn.mediaquickkt W/System.err:     at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
2022-03-09 23:10:43.194 9488-9520/top.lyfzn.mediaquickkt W/System.err:     at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202)
2022-03-09 23:10:43.194 9488-9520/top.lyfzn.mediaquickkt W/System.err:     at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
2022-03-09 23:10:43.194 9488-9520/top.lyfzn.mediaquickkt W/System.err:     at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
2022-03-09 23:10:43.194 9488-9520/top.lyfzn.mediaquickkt W/System.err:  ... 26 more
2022-03-09 23:10:43.195 9488-9519/top.lyfzn.mediaquickkt E/AndroidRuntime: FATAL EXCEPTION: pool-3-thread-1
    Process: top.lyfzn.mediaquickkt, PID: 9488
2022-03-09 23:10:43.195 9488-9519/top.lyfzn.mediaquickkt E/MediaQuick: 

If the phone is not connected to wifi or carrier data network, loading local Markdown with Image in it will cause a crash and cannot be captured

code:

        try {
            markwon = Markwon.builder(context)
                    // 图片加载错误会导致崩溃,断网情况下
                    .usePlugin(GlideImagesPlugin.create(context))
                    .usePlugin(HtmlPlugin.create())
                    .usePlugin(SimpleExtPlugin.create())
                    .usePlugin(LinkifyPlugin.create())
                    .usePlugin(MarkwonInlineParserPlugin.create())
                    .usePlugin(TablePlugin.create(context))
                    .usePlugin(JLatexMathPlugin.create(12))
//                .usePlugin(TableEntryPlugin.create(this))
//                .usePlugin(SyntaxHighlightPlugin.create(Prism4j(GrammarLocatorDef()), Prism4jThemeDefault.create(0)))
                    .usePlugin(TaskListPlugin.create(context))
                    .usePlugin(StrikethroughPlugin.create())
//                .usePlugin(ReadMeImageDestinationPlugin(intent.data))
                    .build();

        } catch (Exception ignore) {
        }

load markdown:

MarkdownView.this.setText(str);