2012-01-02 104 views
3

我正嘗試在Android中創建動態壁紙。它在以下方式上它繪製的文本,海關串放在資產目錄:由於自定義字體導致Android動態壁紙崩潰

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

MP1在這裏是油漆。 繪製,這是通過以下方式,這是每秒更新一次:後從字體緩存清除41K [6項],以及類似的東西 然後:

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

每隔幾秒鐘我看到的logcat以下幾乎沒有像這樣的動態壁紙服務停止並重新啓動清除:

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. 

這當然是由自定義字體的使用引起的。我使用的任何自定義字體,都會發生同樣的情況,並且沒有自定義字體都可以正常工作。

它將如何仍然可以使用我的自定義字體,而不是崩潰動態壁紙服務?

非常感謝您的回覆!

回答