我們正嘗試通過類似content:// ...的通過android-class ImageManager下載Google Play遊戲服務的頭像,但由於未知原因,類停止加載相同的頭像,只停止來響應OnImageLoadedListener。每張照片都是一個單獨的經理實例。Android ImageManager Google遊戲服務
所有頭像都是有效的(對於測試,每次至少加載一次)沒有異常捕獲,創建管理器中的上下文是有效的,嘗試了所有內容,從當前Activity到getApplicationContext()。
試圖進行加載和異步同步。
值得注意的是:在最後一個加載器的動作始終與垃圾收集器對齊並且不會繼續加載(應用程序繼續工作)之後,儘管所有對象的引用都存儲了。
往往不是完成加載最後一個化身。
有沒有人遇到類似的問題?出現在版本2.3至4.2
代碼在備用引導:
static ImageManager imageManager = null;
static int id = 0;
static Uri uri = null;
...
// ...
// change id & uri
// ...
imageManager = ImageManager.create(context);
Log.v("app", "LoadImageFromGoogle Manager created for Image #" + id);
imageManager.loadImage(new OnImageLoadedListener() {
@Override
public void onImageLoaded(Uri arg0, Drawable arg1) {
try {
Log.v("app", "LoadImageFromGoogle Image loaded #" + id);
Bitmap bm = ((BitmapDrawable)arg1).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
// ... some code
Log.v("app", "LoadImageFromGoogle Image added #" + id);
} catch (Exception e) {
Log.v("app", "LoadImageFromGoogle after loading Exception = " + e.toString());
}
}
}, uri, android.R.drawable.btn_star);
日誌中的最後一行總是這樣的:
Log.v("app", "LoadImageFromGoogle Manager created for Image #" + id);
和下面的消息GC。