файл hprof не создается приложением Android

Я отлаживаю приложение для воспроизведения слайд-шоу Android в eclipse. Я пытаюсь создать дамп кучи, чтобы найти источник утечки памяти, но файл hprof не создается в папке "/data/data/app folder/" на устройстве Android, которое я тестирую. Ниже приведен мой код для создания файлов. Что в этом плохого? Заранее спасибо!

public class HeapDumpingUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
private static final String HPROF_DUMP_BASENAME = "leak-app-";
private final String dataDir;

public HeapDumpingUncaughtExceptionHandler(String dataDir) {
    this.dataDir = dataDir;
    Date d = new Date();
    CharSequence s  = DateFormat.format("yyyy-MM-dd_HH-mm-ss", d.getTime());

    String absPath = new File(dataDir, HPROF_DUMP_BASENAME +s+".hprof").getAbsolutePath();

                     try {
                    Log.d(this.getClass().toString(),"memory leak app handler: initial heap dump created "+ absPath);
                         Debug.dumpHprofData(absPath);

                     } catch (IOException e) {
                         e.printStackTrace();
                     }
}

@Override
public void uncaughtException(Thread thread, Throwable ex) {

    Date d = new Date();
    CharSequence s  = DateFormat.format("yyyy-MM-dd_HH-mm-ss", d.getTime());

    String absPath = new File(dataDir, HPROF_DUMP_BASENAME+s+".hprof").getAbsolutePath();

    Log.d(this.getClass().toString(),"memory leak app handler: exception caught : "+ex.getClass()+ " heap dump path "+absPath);
        try {
            Debug.dumpHprofData(absPath);
        } catch (IOException e) {
            e.printStackTrace();
        }

    ex.printStackTrace();
}
}

person Anndexi9    schedule 08.02.2017    source источник
comment
Попробуйте github.com/square/leakcanary, чтобы получить помощь в выявлении утечек памяти. Когда это происходит, библиотека создает файл hprof, но в большинстве случаев вы можете найти проблему, только прочитав точную строку, когда что-то просочилось. Кстати, вы должны добавить UncaughtHandler в собственный расширенный класс приложения, как это сделано здесь stackoverflow.com/a/8943671/2910520   -  person MatPag    schedule 08.02.2017
comment
Спасибо, но я не могу понять, как установить его в eclipse, даже если я погуглил. Почти нет учебника по затмению.   -  person Anndexi9    schedule 08.02.2017
comment
Я предлагаю вам перейти на Android Studio, многие новые туториалы основаны на AS... это точно того стоит.   -  person MatPag    schedule 08.02.2017
comment
Я не могу, потому что это проект для работы, а не для личного...   -  person Anndexi9    schedule 09.02.2017
comment
так есть ли проблема в моем коде для создания hprof?   -  person Anndexi9    schedule 09.02.2017


Ответы (1)


Наконец, узнайте, что мне не нужен этот код для генерации hprof, поскольку DDMS уже имеет эту функцию. Извините за беспокойство, ребята, и спасибо.

person Anndexi9    schedule 09.02.2017