草庐IT

android - native Android 崩溃 - 无效位图

coder 2023-11-16 原文

我在 Google Developer Console 中收到带有中止消息的崩溃报告:“错误,无法在此处访问无效/免费位图!”。到目前为止,下面的堆栈跟踪是我能够掌握的全部内容。该问题仅发生在 Android 6.0 设备 (marshmallow) 上。我无法在我的任何设备上重现该问题。看到这一点的用户甚至无法打开应用程序;它甚至在向他们展示应用程序的任何视觉表示之前就崩溃了。由于错误涉及位图,我遍历了整个项目以查找损坏的图像文件,但没有找到任何文件。有什么建议么?谢谢!

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint:'google/ryu/dragon:6.0.1/MXC89L/3084571:user/release-keys'
Revision: '0'
ABI: 'arm64'
pid: 15550, tid: 15550, name: appname  >>> com.domain.appname <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'Error, cannot access an invalid/free'd bitmap here!'
    x0   0000000000000000  x1   0000000000003cbe  x2   0000000000000006  x3   0000000000000000
    x4   0000000000000000  x5   0000000000000001  x6   0000000000000000  x7   0000000000000000
    x8   0000000000000083  x9   000000000000003c  x10  0000007fcd9a8e2c  x11  0000007fcd9a8e68
   x12  0000007fcd9a8d40  x13  0000000000000034  x14  0000007fcd9a8f18  x15  0000000000000000
   x16  0000007b0b1996a8  x17  0000007b0b15caac  x18  0000007b0b51c418  x19  0000007b0b59c0a8
   x20  0000007b0b59bfe8  x21  000000000000000b  x22  0000000000000006  x23  0000007b0c3f9900
   x24  0000000000000000  x25  000000007081e970  x26  0000007fcd9a9928  x27  0000007fcd9a9950
   x28  0000007af426d340  x29  0000007fcd9a8dd0  x30  0000007b0b15a248
   sp   0000007fcd9a8dd0  pc   0000007b0b15cab4  pstate 0000000020000000

backtrace:
    #00 pc 000000000006aab4  /system/lib64/libc.so (tgkill+8)
    #01 pc 0000000000068244  /system/lib64/libc.so (pthread_kill+68)
    #02 pc 0000000000021238  /system/lib64/libc.so (raise+28)
    #03 pc 000000000001b9d8  /system/lib64/libc.so (abort+60)
    #04 pc 000000000000ceec  /system/lib64/libcutils.so (__android_log_assert+236)
    #05 pc 00000000000e8720  /system/lib64/libandroid_runtime.so (_ZNK7android6Bitmap11assertValidEv+40)
    #06 pc 00000000000e8804  /system/lib64/libandroid_runtime.so (_ZN7android6Bitmap11getSkBitmapEP8SkBitmap+20)
    #07 pc 00000000000fa2b8  /system/lib64/libandroid_runtime.so
    #08 pc 00000000730a6f84  /data/dalvik-cache/arm64/system@framework@boot.oat (offset 0x1eda000)

我也看到了这个堆栈跟踪,我猜它是相关的:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/j3xlteuc/j3xlteatt:6.0.1/MMB29K/J320AUCU1APC9:user/release-keys'
Revision: '0'
ABI: 'arm'
pid: 29403, tid: 29403, name: appname  >>> com.domain.appname <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'Error, cannot access an invalid/free'd bitmap here!'
    r0 00000000  r1 000072db  r2 00000006  r3 b6fb2d9c
    r4 b6fb2da4  r5 b6fb2d54  r6 0000000b  r7 0000010c
    r8 00000000  r9 b4924500  sl 12e7a280  fp 70c321e8
    ip 00000006  sp bebb7540  lr b6d11501  pc b6d138f0  cpsr 400b0010

backtrace:
    #00 pc 000428f0  /system/lib/libc.so (tgkill+12)
    #01 pc 000404fd  /system/lib/libc.so (pthread_kill+32)
    #02 pc 0001cc4b  /system/lib/libc.so (raise+10)
    #03 pc 00019ec9  /system/lib/libc.so (__libc_android_abort+34)
    #04 pc 00017550  /system/lib/libc.so (abort+4)
    #05 pc 00008723  /system/lib/libcutils.so (__android_log_assert+86)
    #06 pc 00090523  /system/lib/libandroid_runtime.so (android::Bitmap::assertValid() const+18)
    #07 pc 0009059f  /system/lib/libandroid_runtime.so (android::Bitmap::getSkBitmap(SkBitmap*)+6)
    #08 pc 00099c35  /system/lib/libandroid_runtime.so
    #09 pc 033768df  /system/framework/arm/boot.oat (offset 0x2f4c000)

最佳答案

如果您的位图调用 recycle() 方法,它可能会崩溃。 尝试不使用 yourbitmap.recycle() 方法。

关于android - native Android 崩溃 - 无效位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39253368/

有关android - native Android 崩溃 - 无效位图的更多相关文章

  1. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  2. Ruby Readline 在向上箭头上使控制台崩溃 - 2

    当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby​​安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少

  3. ruby-on-rails - Rails 5 Active Record 记录无效错误 - 2

    我有两个Rails模型,即Invoice和Invoice_details。一个Invoice_details属于Invoice,一个Invoice有多个Invoice_details。我无法使用accepts_nested_attributes_forinInvoice通过Invoice模型保存Invoice_details。我收到以下错误:(0.2ms)BEGIN(0.2ms)ROLLBACKCompleted422UnprocessableEntityin25ms(ActiveRecord:4.0ms)ActiveRecord::RecordInvalid(Validationfa

  4. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  5. ruby - 如何排除无效日期 ruby - 2

    我想知道我应该引用什么异常名称。我的日期无效。我检查了文档,但找不到。BeginDate.new(day,month,year)Rescueexceptionnamestatements 最佳答案 我认为您正在寻找ArgumentError.使用irb:>Date.new(2,-200,3)ArgumentError:invaliddatefrom(irb):11:in`new'from(irb):11所以beginDate.new(2,-200,3)rescueArgumentError#yourlogicend

  6. ruby - 尝试授权服务器到 ruby​​ 中的服务器类型应用程序以访问 Google 日历时无效授权 - 2

    我正在尝试为自己创建一个直接连接到我的日历的应用程序……但我从不想参与重新验证。我只想编写一次身份验证代码并完成它。授权码如下:key=Google::APIClient::PKCS12.load_key(SERVICE_ACCOUNT_PKCS12_FILE_PATH,PASSWORD)asserter=Google::APIClient::JWTAsserter.new(SERVICE_ACCOUNT_EMAIL,'https://www.googleapis.com/auth/calendar',key)@client=Google::APIClient.new@client.a

  7. ruby - 在多个线程中引用类方法会导致自动加载循环依赖崩溃 - 2

    代码:threads=[]Thread.abort_on_exception=truebegin#throwexceptionsinthreadssowecanseethemthreadseputs"EXCEPTION:#{e.inspect}"puts"MESSAGE:#{e.message}"end崩溃:.rvm/gems/ruby-2.1.3@req/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:478:inload_missing_constant':自动加载常量MyClass时检测到循环依赖稍加研究后,

  8. ruby - `DateTime.strptime` 返回工作日/时间字符串的无效日期 - 2

    为什么Ruby的strptime不将其转换为DateTime对象:DateTime.strptime('Monday10:20:20','%A%H:%M:%S')#=>ArgumentError:invaliddate虽然这些有效?DateTime.strptime('Wednesday','%A')#=>#DateTime.strptime('10:20:20','%H:%M:%S')#=># 最佳答案 这看起来像一个错误-minitech'scomment是正确的。不过,现在有一个解决方法(因为您可能希望它现在起作用):您可以在

  9. ruby - 执行过期异常使 Ruby 线程崩溃,但处理了 Timeout::Error - 2

    任何人都可以解释为什么当对方法的调用看起来像这样时我可能会看到这个堆栈(由HTTParty::post请求引起):beginresponse=HTTParty::post(url,options)rescuelogger.warn("Couldnotpostto#{url}")rescueTimeout::Errorlogger.warn("Couldnotpostto#{url}:timeout")end堆栈:/usr/local/lib/ruby/1.8/timeout.rb:64:in`timeout'/usr/local/lib/ruby/1.8/net/protocol.rb

  10. ruby - vim 使用 AutoComplPop 插件崩溃 - 2

    我使用vim编辑ruby​​文件,但是当我输入“.”时它崩溃了。我发现它是由AutoComplPop插件引起的。我该怎么办? 最佳答案 我找到了一种使用autocomplpop和filetype=ruby来防止vim崩溃的方法。将以下行放入您的.vimrcletg:acp_behaviorRubyOmniMethodLength=-1这将防止在您键入“.”时触发autocomplpop。(期间)这不是解决办法。(我不是vim插件程序员)祝你好运! 关于ruby-vim使用AutoComp

随机推荐