Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Кэш и sdcard (фичреквест) #55

Open
konkere opened this issue Apr 12, 2012 · 3 comments
Open

Кэш и sdcard (фичреквест) #55

konkere opened this issue Apr 12, 2012 · 3 comments

Comments

@konkere
Copy link

konkere commented Apr 12, 2012

Сейчас кэш располагается в /mnt/sdcard/LepraDroid/
На моём, например, девайсе /mnt/sdcard/ — это всё та же внутренняя память, а реальная sd-карточка (физический носитель) монтируется в /mnt/sdcard/external_sd/
Можно как-нибудь запилить, чтобы при наличии такого монтирования кэш приложения отправлялся в /mnt/sdcard/external_sd/LepraDroid/, т.е. действительно на sd-карту?

@NevRA
Copy link
Owner

NevRA commented Apr 12, 2012

Вот здесь хорошее описание такой ситуации: http://stackoverflow.com/questions/5694933/find-an-external-sd-card-location
Основная мысль, что по нормальному/честному этого не сделать, т.к.производители сами решают что является внешней памятью в их устройствах (то куда будет ссылаться стандартное API), но в дополнение к этому они могут размещать дополнительные источники данных, которые в некоторых случаях могут оказываться физической ("действительно внешней") SD (описанная ситуация).
Нет API, которое может вернуть действительно внешнюю SD.
Теоретически, чтобы это сделать нужно сделать ресеч в сторону возможности заинумерить все имеющиеся накопители и по какому-то признаку найти нужный, но подобные практики обычно чреваты большими проблемами связанными с тем что у разных производителей все по-разному.
Поэтому боюсь пока этого сделать не могу.

@konkere
Copy link
Author

konkere commented Apr 12, 2012

Ну а выбор, например, места для кэша, не?

Та же дефолтная камера, камера zoomFX, яндекс.карты преспокойненько дефолтно используют экстернал_сд, если он есть. Я ж не сам это придумал, примеры перед глазами есть.

@NevRA
Copy link
Owner

NevRA commented Apr 12, 2012

Я не говорю что этого сделать нельзя, в программировании вообще можно сделать все, но нужен ресеч и потом долгое тестирование, а это время. Я не яндекс и таким ресурсом не обладаю.
Догадываюсь только что нужно самостоятельно парсить /proc/mounts, а это не тривиально, скорее всего требует каких-нибудь дополнительных (и подозрительных прав), каких-нибудь хаков и т.п.
Сам хочу вечером проверю как работает код из статьи, что я привел в начале треда.
Если найдете другой пример это делающий для разных платфор готов его попробовать.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants