Я инициализирую модифицированный объект в классе приложения.Экземпляр 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 должен создаваться для каждого запроса?