Это мой код для всплеска активности:
public class Loading extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... voids) {
try {
Thread.sleep(4000);
}catch(InterruptedException ie){
ie.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
Intent homeIntent = new Intent(getApplicationContext(), ActivityHome.class);
startActivity(homeIntent);
overridePendingTransition(R.anim.open_next, R.anim.close_main);
}
}
Все работает нормально, но отображается следующее предупреждение:
This AsyncTask class should be static or leaks might occur (myapp.activities.ActivitySplash.Loading) less... (Ctrl+F1)
A static field will leak contexts.
Если я изменю класс на статические, будут использоваться нестатические методы, и будут появляться ошибки:
Intent homeIntent = new Intent(getApplicationContext(), ActivityHome.class);
startActivity(homeIntent);
overridePendingTransition(R.anim.open_next, R.anim.close_main);
Так что, если я буду использовать закрытый класс, получит предупреждение, если попытается использовать статический класс, получит ошибки. Что делать, чтобы иметь четкий код?