【问题标题】:Android ImageManager Google Game ServicesAndroid ImageManager 谷歌游戏服务
【发布时间】:2013-07-29 15:11:15
【问题描述】:

我们正在尝试通过 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。

【问题讨论】:

    标签: android google-play-games


    【解决方案1】:

    嗯....我从未见过这个问题。你确定你给它一个有效的URI吗?我的第一个猜测是,它可能是代码中某处的一个错误,您上次调用 imageManager.loadImage() 时传递了一个无效的 URI。我会尝试让上面的代码打印它尝试加载的 URI 以及图像编号,看看是否出现了奇怪的事情。

    如果没有,您能否制作一个简单的重现案例并将其发布到我们的公共错误跟踪器? http://code.google.com/p/play-games-platform

    谢谢!

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。看起来垃圾收集器可以在检索图像之前“清理”侦听器。解决问题的方法是直接在您的活动上实现ImageManager.OnImageLoadedListener,而不是暂时创建新对象。

      您可以在此处找到有关 google 代码的相关问题: https://code.google.com/p/play-games-platform/issues/detail?id=14&can=1&sort=-status&colspec=ID%20Type%20Status%20Priority%20Platform%20Summary%20Stars

      永远不会迟到;)

      【讨论】:

        猜你喜欢
        • 2016-10-23
        • 2015-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多