其他分享
首页 > 其他分享> > Android PdfDocument多页导致致命信号11(SIGSEGV)

Android PdfDocument多页导致致命信号11(SIGSEGV)

作者:互联网

我正在尝试使用PDFDocument在Android上创建多页PDF文件.创建新页面(方法newPDFPage())后,下一行如下,例如canvas.drawLine(start,position,finish,position,paint);导致应用程序崩溃而没有引用代码行.

错误:
致命信号11(SIGSEGV),代码1(SEGV_MAPERR),故障加法器0x12

@TargetApi(Build.VERSION_CODES.KITKAT)
public void newPDFPage() {

    document.finishPage(page);
    pageInfo = new PdfDocument.PageInfo.Builder(595, 842, 1).create();
    page = document.startPage(pageInfo);
    position = titleBaseLine;

}

它不会每次崩溃,而是随机发生(工作2/10).

完整的堆栈跟踪

Fatal signal 11 (SIGSEGV), code 1, fault addr 0x12 in tid 20916 (com.example.app)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'htc/htc_europe/htc_m8:6.0/MRA58K/662736.4:user/release-keys'
Revision: '0'
ABI: 'arm'
pid: 20916, tid: 20916, name: com.example.app  >>> com.example.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x12
r0 b8bc42e8  r1 42340000  r2 43480000  r3 44098000
r4 00000000  r5 b8bc42e8  r6 ffffffff  r7 b8aa20d0
r8 ffffffff  r9 b70269a0  sl 133b4b50  fp 12e6de80
ip 00000013  sp beef6d70  lr 7313d985  pc 00000012  cpsr 600e0030
#00 pc 00000012  <unknown>
#01 pc 02cb8983  /system/framework/arm/boot.oat (offset 0x2256000)    

如果有任何遗漏,请通知我,我将编辑问题!

解决方法:

问题可能是,当您创建新页面时,您必须重新初始化/重新获得Canvas.

Canvas canvas = page.getCanvas();

标签:pdf,sigsegv,android-pdf-api,android
来源: https://codeday.me/bug/20191119/2032253.html