android – Facebook SDK中的内存泄漏很少

我试图为我的应用程序制作社交模块,包括包装,包含Google,Facebook和twitter集成模板.

现在我正在使用Facebook SDK,并决定在我的应用程序中使用LeakCanary,成功登录后,我旋转了几次设备,并看到以下信息:

MainActivity.class:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ButterKnife.bind(this);
    setFragment();

}
private void setFragment(){
    getSupportFragmentManager()
            .beginTransaction()
            .add(R.id.container,new MainFragment())
            .commit();
}
}

这是我如何登录Facebook:

public void configureFacebook(@NonNull Fragment fragment,@Nullable String permissions,@Nullable String requestFields) {
    setPermissionAndRequestFields(permissions,requestFields);
    loginManager = LoginManager.getInstance();
    callbackManager = CallbackManager.Factory.create();
    loginManager.registerCallback(callbackManager,facebookCallback);
    loginManager.logInWithReadPermissions(fragment,Arrays.asList(this.permissions));
    loginManager=null;

}

我尝试使用登录按钮登录,在这种情况下,我抓住这个问题和新的,与以下信息:

这是我如何使用LoginButton.class登录

public void configureFacebook(@NonNull Fragment fragment,@Nullable String requestFields,@NonNull LoginButton button) {
    callbackManager = CallbackManager.Factory.create();
    setFbButton(button);
    setPermissionAndRequestFields(permissions,requestFields);
    fbButton.setFragment(fragment);
    fbButton.setReadPermissions(this.permissions);
    fbButton.registerCallback(callbackManager,facebookCallback);

}

我不知道如何解决这些问题.我做错了什么?

更新:Facebook中的泄漏Activity.class已显示没有旋转设备.

解决方法

看起来他们可能已经为Facebook SDK版本4.2.0修复. see here

更新Facebook SDK可能是您的问题的解决方案.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...