retrofit.create объект мусора собирается случайным образом - PullRequest
0 голосов
/ 19 июня 2019

Я инициализирую модифицированный объект в классе приложения.Экземпляр API также создается во время инициализации.Я создаю только один экземпляр API, и он будет использоваться во всем приложении.Но этот объект случайно собирается мусором.Ниже мой код

  public void init(Context context) {
       super.init(context, getCertificatePinner(), 20, 60, true);
       apiClient = retrofit.create(ClientApi.class);
       mUserInteractionTimer = UserInteractionTimer.getInstance();
       mTokenRefreshTimer = TokenRefreshTimer.getInstance();
       registerAppEventsReceiver(context);
   }

, и api будет вызываться как показано ниже

 public void loginUser(final String username, final String password,  final com.transfast.transfast.client.TfCallBack<TokenResponse> callback) {
        Call<TokenResponse> tokenResponseCall = apiClient.postLogin(username, password);
        makeRequest(tokenResponseCall, callback);
     }

Иногда apiClient равен нулю.Приложение вылетает, так как это ноль.Почему этот объект apiClient случайно отбирается?Это правильный подход или объект apiClient должен создаваться для каждого запроса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...