Я пытаюсь создать живые обои в 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.
Это, безусловно, вызвано использованием пользовательских шрифтов. Любой пользовательский шрифт, который я использую, происходит так же, и без пользовательских шрифтов все работает просто отлично.
Как можно было бы по-прежнему использовать мои пользовательские шрифты, а не отключать службу живых обоев?
Большое спасибо за ответы!