Недавно я начал получать ANR-ошибки при вызове getExternalFilesDir(null)
из своего кода активности. Этот код работал раньше, но теперь, возможно, после обновления инструментов построения градиентов есть такая проблема. Очистка проекта и перестройка не помогают. Кто-нибудь получил эту проблему также? Заранее спасибо.Android: ANR при вызове getExternalFilesDir (null)
Образец кода. Приложение зависает с диалогом ANR на первой линии File folder = getExternalFilesDir(null);
// check if downloaded files take less memory than EPISODES_SIZE_WARNING_LIMIT_MB
private void checkFolderSize() {
File folder = getExternalFilesDir(null);
if (folder != null) {
long length = 0;
for (File file : folder.listFiles())
if (file.isFile())
length += file.length();
double sizeMb = ((double)length)/1024/1024;
if (sizeMb > EPISODES_SIZE_WARNING_LIMIT_MB) {
new AlertDialog.Builder(this)
.setTitle(R.string.dialog_warning)
.setMessage(getString(R.string.warning_used_memory, EPISODES_SIZE_WARNING_LIMIT_MB))
.setNeutralButton(R.string.dialog_ok, null)
.show();
}
}
}
Просто не делайте этого по главной теме ... – Selvin
@Selvin: этот метод должен работать в основной теме –