gpt4 book ai didi

react-native - React Native - 在导航到/从包含嵌入在其自己的 WebView 中的多条推文的页面导航后取消引用空指针

转载 作者:行者123 更新时间:2023-12-03 17:55:37 29 4
gpt4 key购买 nike

我目前为工作而构建的应用程序主要侧重于显示文章。其中一些包含 Twitter 嵌入(在网络版本上),并且由于 API 由我们的两个应用程序共享,因此我也收到了作为 HTML 的嵌入。每当我尝试在源设置为 HTML 的 WebView 中显示推文和用于样式的 Twitter JS 脚本时,页面要么正确加载,但在我按下时崩溃(使用 react-navigation),或者它只是在加载时崩溃但仅打开安卓。

我尝试了以下方法:

  • 使用社区支持的 WebView package 而不是内置的。我也在那边开了一个 issue
  • 从 WebView 中删除 JS 脚本。
  • 改用 injectedJavaScript Prop 。
  • 安装 TwitterKit 以使用 native 嵌入,不幸的是 Twitter 不再支持 :(

  • 这就是我呈现 WebView 的方式:
    const JS = '<script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script>';
    return (
    <View
    key={content.embed._id}
    style={[{ overflow : "hidden", marginTop : 15, marginStart : 15 }]}>
    <WebView
    scrollEnabled={false}
    style={{ height : 150, width : Dimensions.get('window').width - 30 }}
    source={{ html : content.embed.html + JS }} />
    </View>
    );

    这是来自 Android Studio 的堆栈跟踪(我什至没有得到 RedBox,只是一次普通的硬崩溃)。
    Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c in tid 13662 (RenderThread), pid 13634 (com.example)
    Build fingerprint: 'google/sdk_gphone_x86/generic_x86:9/PSR1.180720.093/5456446:userdebug/dev-keys'
    Revision: '0'
    ABI: 'x86'
    pid: 13634, tid: 13662, name: RenderThread >>> com.example <<<
    signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c
    Cause: null pointer dereference
    eax e7a959c0 ebx f0a794a0 ecx f0a6994c edx 00000002
    edi efcbbd9c esi 00000000
    ebp d314a7e8 esp d314a7d0 eip f07edeea
    backtrace:
    #00 pc 0060ceea /system/lib/libhwui.so (SkSurface::getCanvas()+26)
    #01 pc 0009b53d /system/lib/libhwui.so (android::uirenderer::skiapipeline::GLFunctorDrawable::onDraw(SkCanvas*)+3357)
    #02 pc 005200f7 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+279)
    #03 pc 0051c9a6 /system/lib/libhwui.so (SkCanvas::onDrawDrawable(SkDrawable*, SkMatrix const*)+38)
    #04 pc 00178318 /system/lib/libhwui.so (SkCanvas::drawDrawable(SkDrawable*, SkMatrix const*)+344)
    #05 pc 005208f5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+229)
    #06 pc 004fe090 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+352)
    #07 pc 004fe51f /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+287)
    #08 pc 0052006d /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+141)
    #09 pc 0051c9a6 /system/lib/libhwui.so (SkCanvas::onDrawDrawable(SkDrawable*, SkMatrix const*)+38)
    #10 pc 00178318 /system/lib/libhwui.so (SkCanvas::drawDrawable(SkDrawable*, SkMatrix const*)+344)
    #11 pc 005208f5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+229)
    #12 pc 004fe090 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+352)
    #13 pc 004fe51f /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+287)
    #14 pc 0052006d /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+141)
    #15 pc 0051c9a6 /system/lib/libhwui.so (SkCanvas::onDrawDrawable(SkDrawable*, SkMatrix const*)+38)
    #16 pc 00178318 /system/lib/libhwui.so (SkCanvas::drawDrawable(SkDrawable*, SkMatrix const*)+344)
    #17 pc 005208f5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+229)
    #18 pc 004fe090 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+352)
    #19 pc 004fe51f /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+287)
    #20 pc 0052006d /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+141)
    #21 pc 0051c9a6 /system/lib/libhwui.so (SkCanvas::onDrawDrawable(SkDrawable*, SkMatrix const*)+38)
    #22 pc 00178318 /system/lib/libhwui.so (SkCanvas::drawDrawable(SkDrawable*, SkMatrix const*)+344)
    #23 pc 005208f5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+229)
    #24 pc 004fe090 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+352)
    #25 pc 004fe51f /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+287)
    #26 pc 0052006d /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+141)
    #27 pc 0051c9a6 /system/lib/libhwui.so (SkCanvas::onDrawDrawable(SkDrawable*, SkMatrix const*)+38)
    #28 pc 00178318 /system/lib/libhwui.so (SkCanvas::drawDrawable(SkDrawable*, SkMatrix const*)+344)
    #29 pc 005208f5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+229)
    #30 pc 004fe090 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+352)
    #31 pc 004fe51f /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+287)
    #32 pc 0052006d /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+141)
    #33 pc 0051c9a6 /system/lib/libhwui.so (SkCanvas::onDrawDrawable(SkDrawable*, SkMatrix const*)+38)
    #34 pc 00178318 /system/lib/libhwui.so (SkCanvas::drawDrawable(SkDrawable*, SkMatrix const*)+344)
    #35 pc 005208f5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+229)
    #36 pc 004fe090 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+352)
    #37 pc 004fe51f /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+287)
    #38 pc 0052006d /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+141)
    #39 pc 0051c9a6 /system/lib/libhwui.so (SkCanvas::onDrawDrawable(SkDrawable*, SkMatrix const*)+38)
    #40 pc 00178318 /system/lib/libhwui.so (SkCanvas::drawDrawable(SkDrawable*, SkMatrix const*)+344)
    #41 pc 005208f5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+229)
    #42 pc 004fe090 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+352)
    #43 pc 004fe51f /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+287)
    #44 pc 000a655e /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaPipeline::renderLayersImpl(android::uirenderer::LayerUpdateQueue const&, bool, bool)+862)
    #45 pc 00546e44 /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaPipeline::renderFrame(android::uirenderer::LayerUpdateQueue const&, SkRect const&, std::__1::vector<android::sp<android::uirenderer::RenderNode>, std::__1::allocator<android::sp<android::uirenderer::RenderNode>>> const&, bool, bool, android::uirenderer::Rect const&, sk_sp<SkSurface>)+84)
    #46 pc 00545e39 /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaOpenGLPipeline::draw(android::uirenderer::renderthread::Frame const&, SkRect const&, SkRect const&, android::uirenderer::FrameBuilder::LightGeometry const&, android::uirenderer::LayerUpdateQueue*, android::uirenderer::Rect const&, bool, bool, android::uirenderer::BakedOpRenderer::LightInfo const&, std::__1::vector<android::sp<android::uirenderer::RenderNode>, std::__1::allocator<android::sp<android::uirenderer::RenderNode>>
    #47 pc 000b2e76 /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+262)
    #48 pc 0054bd02 /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+898)
    #49 pc 004fd4c2 /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+242)
    #50 pc 000c454a /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+314)
    #51 pc 0000e616 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+326)
    #52 pc 0000df76 /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+246)
    #53 pc 0008f065 /system/lib/libc.so (__pthread_start(void*)+53)

    最佳答案

    所以我在社区支持的 WebView github 页面上做了更多的挖掘,结果是这个 androidHardwareAccelerationDisabled这是一个 boolean .我尝试将其设置为 true它似乎已经解决了这个问题!

    <Webview
    androidHardwareAccelerationDisabled
    ...
    />

    关于react-native - React Native - 在导航到/从包含嵌入在其自己的 WebView 中的多条推文的页面导航后取消引用空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56553663/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com