2016-03-08 71 views
3

我正嘗試在Android上使用PDFDocument創建多頁PDF文件。在創建新頁面(方法newPDFPage())後,接下來的行,例如canvas.drawLine(start, position, finish, position, paint);會導致應用程序崩潰而不參考代碼中的行。Android PdfDocument多頁導致致命信號11(SIGSEGV)

錯誤: 致命信號11(SIGSEGV),碼1(SEGV_MAPERR),故障地址0×12

@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)  

如果有什麼缺失,讓我知道,我將修改的問題!

回答

3

問題可能在於,當您創建新頁面時,必須重新初始化/獲取Canvas

Canvas canvas = page.getCanvas(); 
相關問題