1

基本的に、ロケーションベースのアプリを介して壁紙を設定しようとしています。

WallpaperManager wManager;
Bitmap bitmap;
try {
    bitmap = BitmapFactory.decodeFile(wallSrc);
    wManager = WallpaperManager.getInstance(getApplicationContext());
    wManager.setBitmap(bitmap);
}
catch (Exception e) {
    e.printStackTrace();
}

コードのプロファイリングは、その行が

wManager.setBitmap(bitmap);

ここで犯人として行動しています。これは、実行に不合理に長い時間がかかっているようです。同じことをするためのより速いメカニズムはありますか?または質問を言い換えると-画像へのパスを知っている場合、壁紙として設定するための最速の方法は何でしょうか?

4

1 に答える 1

3

setStreamビットマップを手動でデコードする必要がないため、高速になる場合があります。現実的には、何かがそれをデコードする必要があります...ほとんどの場合、使用しているビットマップが大きすぎます。

于 2012-04-13T23:20:08.447 に答える