Делать файл ввода / вывода на Android - какой поток он принадлежит

StackOverflow https://stackoverflow.com/questions/4432574

Вопрос

После прочтения Брэда Фитцпатрика статья На Strictmode я остался с несколькими вопросами.

Где файл ввода / вывода принадлежит в моих приложениях? (Я знаю, что нить интерфейса неверна, но могла неренить новую тему быть хуже?)

Если я должен использовать нить для доступа к диску, то как мое приложение обрабатывает реализацию? Отправить параметры на асинктюсс? Общие переменные? Я хочу оптимизировать использование памяти, а также не только отзывчивость (тем более что нет никакой заметной разницы на моих телефонах)

@Brad Если вы читаете это: я бы понравилось сообщение в блоге с образцами (или ссылками на места в источнике AOSP), где это было сделано в рамках.

Спасибо всем!

Это было полезно?

Решение

Не беспокойтесь о нитках. Запуск новой поток быстрее, чем диск. На Nexus One, IIRC, создавая новые потоки и запустив их в цикле, составляет ~ 1 мс.

Используйте все, что наиболее подходит для вашего приложения: Asynctask, Intentservice или новая тема с общей состоянием (с соответствующими замками!). ASYNCTASK гарантированно поддерживает работу, если пользователь выключает, но немного проще в использовании и выскакивает вас к потоке пользовательского интерфейса, когда это сделано. Интенсивный сайт будет продолжать работать и завершено, но не поможет вам вернуться к потоке пользовательского интерфейса с результатом. Вам нужно будет отправить результат (если есть) в обработчик на вашу UI.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top