2016-03-08 4 views
3

Я пытаюсь создать многостраничный файл PDF на Android, используя PDFDocument. После создания новой страницы (метод newPDFPage()) следующая следующая строка, например canvas.drawLine(start, position, finish, position, paint);, приводит к сбою приложения без ссылки на строку в коде.Android PdfDocument multipage cause Fatal signal 11 (SIGSEGV)

Ошибка: Fatal сигнал 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)  

Если есть что-то не хватает, дайте мне знать, и я буду править вопрос!

ответ

3

Проблема, вероятно, в том, что при создании новой страницы вам необходимо снова инициализировать/получить Canvas.

Canvas canvas = page.getCanvas();