Съхраняване на изображения на приложения във вътрешна памет срещу външна памет

Пиша приложение за Android, където крайният потребител ще заснема снимки. Обикновено бих съхранявал данни от приложението (на стойност няколко KB) във вътрешната памет. Но тук тези снимки достигат около 450K всяка и може да има няколко от тях.

Тъй като вътрешната памет е ограничена, добра идея ли е да съхранявате тези изображения там или трябва да използвам външната памет? Просто търся предложения за най-добри практики тук. Благодаря ти.


person user1005585    schedule 08.02.2013    source източник
comment
И двете имат компромиси. Когато ги съхранявате във вътрешна памет, вашият apk файл ще стане по-голям. От друга страна, ако ги съхранявате във външно хранилище, изображенията в приложението ви няма да се показват в случай на липса на интернет връзка. В крайна сметка това е ваше решение, вие решавате кое е по-критично за вас.   -  person Can Geliş    schedule 09.02.2013


Отговори (1)


Зависи от функционалността на вашето приложение и колко големи изображения ще растат.

Съхраняването на външно хранилище е по-добре, за да спестите вътрешно място за съхранение, но трябва да имате предвид, че външното хранилище не винаги е налично (напр. когато USB е свързано в режим на прехвърляне на файлове), така че първо трябва да проверите дали е монтирано, ето примерна помощна функция

public boolean isExternalStorageMounted() {
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        return true;
    }
    return false;
}

Освен това трябва да избягвате създаването на независима папка на SD картата, ако искате вашите файлове да бъдат изтрити, когато приложението бъде деинсталирано, трябва да използвате getExternalFilesDir() към вашата директория, където можете да запазите вашите изображения, които ще бъдат премахнати, когато приложението ви бъде деинсталирано .

person iTech    schedule 08.02.2013