Подтвердить что ты не робот

Немного утечек памяти в Facebook SDK

Я попытался сделать социальный модуль для своего приложения, что-то вроде обертки, которое будет содержать шаблоны интеграции Google +, Facebook и twitter.

Теперь я работаю с SDK для Facebook и решил использовать 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 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 показана без поворотного устройства.

4b9b3361

Ответ 1

Похоже, они исправили это для версии SDK версии 5.0.0 для Facebook. см. здесь

Обновление SDK для Facebook может быть решением вашей проблемы.

Ответ 2

Я обновил его до 4.7.0, и я думаю, что эта проблема исправлена.

Ответ 3

Исправлено в 4.10. Я пробовал без приложения facebook и проверял с помощью диспетчера памяти.