Facebook SDK中很less有内存泄漏

我试图为我的应用程序制作社交模块,比如包装器,它将包含Google +,Facebook和Twitter集成模板。

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

在这里输入图像说明

这里是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(); } } 

以下是我如何login到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; } 

我也尝试login使用loginbutton,在这种情况下,我赶上这个问题和新的一个,有以下信息:

在这里输入图像说明

以下是我使用LoginButton.classlogin的方法:

  public void configureFacebook(@NonNull Fragment fragment, @Nullable String permissions, @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已经显示没有旋转设备。

Solutions Collecting From Web of "Facebook SDK中很less有内存泄漏"

看起来他们可能已经修复了这个Facebook SDK版本4.2.0。 看这里

更新Facebook SDK可能是解决您的问题的方法。

我更新到4.7.0,我认为这个问题已经修复。

固定在4.10。 我尝试没有Facebook应用程序,并与内存pipe理器检查。