我们正在尝试通过 android-class ImageManager 从 Google Play 游戏服务中的 URI 下载头像:/ / ...,但由于未知原因,该类停止加载相同的头像,只是停止响应 OnImageLoadedListener。每张图片都是管理器的一个单独实例。
所有头像都是有效的(对于测试,每个至少加载一次)没有异常捕获,创建管理器中的上下文是有效的,尝试了一切,从当前的 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。