Android живые обои рушатся из-за пользовательских шрифтов - PullRequest
3 голосов
/ 02 января 2012

Я пытаюсь создать живые обои в Android. На нем нарисован следующий текст с таможенной строкой, размещенной в каталоге активов:

String path = "fonts/calligraffiti.ttf";
AssetManager a1 = getApplicationContext().getAssets();
Typeface typef = Typeface.createFromAsset(a1, path);
mp1.setTypeface(typef);

mp1 - это краска здесь. Рисовать это следующим образом, и это обновляется каждую секунду:

c.drawText(Integer.toString(t.get(Calendar.HOUR)), wt/2-5*wt/100, ht/2+sec*60+ht/15, mp1);

Каждые несколько секунд в Logcat я вижу следующее: удаление 41K из кэша шрифтов [6 записей] и тому подобное Затем после нескольких таких очисток служба живых обоев останавливается и перезапускается:

01-02 13:31:59.344: I/ActivityManager(1319): Process ca.jvsh.livewallpaper (pid 3444) has died.
01-02 13:31:59.375: W/WallpaperService(1319): Wallpaper service gone: ComponentInfo{ca.jvsh.livewallpaper/ca.jvsh.livewallpaper.LiveWallpaper}
01-02 13:31:59.383: I/WindowManager(1319): WIN DEATH: Window{457c0628 ca.jvsh.livewallpaper.LiveWallpaper paused=false}
01-02 13:31:59.391: W/ActivityManager(1319): Scheduling restart of crashed service ca.jvsh.livewallpaper/.LiveWallpaper in 5000ms
01-02 13:31:59.508: I/ActivityManager(1319): Low Memory: No more background processes.

Это, безусловно, вызвано использованием пользовательских шрифтов. Любой пользовательский шрифт, который я использую, происходит так же, и без пользовательских шрифтов все работает просто отлично.

Как можно было бы по-прежнему использовать мои пользовательские шрифты, а не отключать службу живых обоев?

Большое спасибо за ответы!

1 Ответ

0 голосов
/ 17 июня 2014

У меня была похожая проблема в приложении livewallpaper. Интересно, добавлю ли я проблему с моими текстурами opengl, наконец, я только что заявил, что приложение может быть очищено из памяти в любое время, если это требуется для ОС Android, и добавил процесс восстановления с помощью AlarmManager.

Некоторые ссылки:

https://stackoverflow.com/a/14748123/3540391

https://stackoverflow.com/a/8321512/3540391

...