2016-04-21 2 views
1

Недавно я начал получать 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(); 
     } 
    } 
} 
+0

Просто не делайте этого по главной теме ... – Selvin

+0

@Selvin: этот метод должен работать в основной теме –

ответ

0

Это была проблема устройства. После перезагрузки он работает.

Смежные вопросы