Android PdfDocument 多页导致致命信号 11 (SIGSEGV)
Android PdfDocument multipage cause Fatal signal 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();
我正在尝试使用 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();