【友盟+】开发者社区

使用分享导致的内存泄露

熬八马 发表于 2016-12-19 11:34:24 | |阅读模式

熬八马
熬八马 发表于 2016-12-19 11:34:24 | 显示全部楼层 |阅读模式
本帖最后由 熬八马 于 2016-12-19 11:37 编辑

我是将分享的步骤封装在BaseActivity里面,并重写了onActivityResult调用了UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);以下是我的分享步骤:
if (umShareListener == null)
    umShareListener = new UMShareListener() {
        @Override
        public void onResult(SHARE_MEDIA platform) {
            Log.d("plat", "platform" + platform);
            if (platform.name().equals("WEIXIN_FAVORITE")) {
                Toast.makeText(DemoApplication.applicationContext, platform + " 收藏成功啦", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(DemoApplication.applicationContext, platform + " 分享成功啦", Toast.LENGTH_SHORT).show();
                if (!TextUtils.isEmpty(BaseActivity.this.shareId))
                    toHttpAddShare();
            }
        }

        @Override
        public void onError(SHARE_MEDIA platform, Throwable t) {
            Toast.makeText(DemoApplication.applicationContext, platform + " 分享失败啦", Toast.LENGTH_SHORT).show();
            if (t != null) {
                Log.d("throw", "throw:" + t.getMessage());
            }
        }

        @Override
        public void onCancel(SHARE_MEDIA platform) {
            Toast.makeText(DemoApplication.applicationContext, platform + " 分享取消了", Toast.LENGTH_SHORT).show();
        }
    };
this.shareId = shareId;
progressDialog.setMessage("请稍后");
Config.dialog = progressDialog;
ShareAction shareAction = new ShareAction(this).setPlatform(platform).setCallback(umShareListener);
if (!TextUtils.isEmpty(title))
    shareAction.withTitle(title);
if (!TextUtils.isEmpty(text))
    shareAction.withText(text);
if (!TextUtils.isEmpty(mediaUrl)) {
    UMImage image = new UMImage(this, mediaUrl);
    shareAction.withMedia(image);
} else {
    UMImage image = new UMImage(this, R.mipmap.ic_launcher);
    shareAction.withMedia(image);
}
if (!TextUtils.isEmpty(webUrl))
    shareAction.withTargetUrl(webUrl);
shareAction.share();

* GC ROOT static com.umeng.socialize.utils.ContextUtil.context
* Retaining: 192 KB.
* Reference Key: dd7559ed-22f9-4430-ab27-7f6b4baef924
* Device: Xiaomi Xiaomi MI MAX hydrogen
* Android Version: 6.0.1 API: 23 LeakCanary: 1.4-beta2 3799172
* Durations: watch=5180ms, gc=170ms, heap dump=5013ms, analysis=16138ms
* Details:
* Class com.umeng.socialize.utils.ContextUtil
|   static $staticOverhead = byte[8]@322356225 (0x1336c401)
|   static REQUEST_CODE_CUT = 103
|   static REQUEST_CODE_CAMERA = 102
|   static serialVersionUID = 0
|   static $staticOverhead = byte[40]@325758977 (0x136ab001)
|   static REQUEST_CODE_PICTURE = 101
|   static $change = null
|   OptIndustryPopuWindow = null
|   OptionalPopuWindow = null
|   avatarIsChanged = true
|   avatarPopupWindow = android.widget.PopupWindow@326840688 (0x137b3170)
|   dataPopupWindow = android.widget.PopupWindow@316360608 (0x12db47a0)
|   education = java.lang.String[5]@316170112 (0x12d85f80)
|   educationLv = android.widget.ListView@315645952 (0x12d06000)
|   educationPopupWindow = android.widget.PopupWindow@316361664 (0x12db4bc0)
|   etCustomPrice = null
|   etOptionalPrice = null
|   etOptionalPrices = null
|   gender = 1
|   icnAmera = android.support.v7.widget.AppCompatImageView@326081536 (0x136f9c00)
|   imageCropUri = android.net.Uri$HierarchicalUri@317476288 (0x12ec4dc0)
|   imageUri = android.net.Uri$HierarchicalUri@317472928 (0x12ec40a0)



上一篇:点击分享,会关闭当前Activity
下一篇:最新的sdk6.1.1如何获取微博好友

您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

友盟启动初始化报错
版本更新后启动一直报这个错误
微信分享音乐类型失败
近期微信官方对音乐类型的分享增加了白名单限制,会导致不在白名单内的APP分享音乐类型失败 出现这种情
运行报错java.lang.NoClassDefFoundError:有人遇到过吗?
在项目中集成友盟分享功能,只加了微信、qq、微博,都是精简版。按照友盟官方的方法操作的。 签名用的友盟

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

在线客服
返回顶部 返回列表