FAQ. Пояснения для тех, кто недоволен глюками
или почему я не правлю некоторые ошибки rar, 7z и zip :)
1. Почему размер распакованных файлов всего 1 мб?
Для работы rar 2.9+ требуется 4 мб памяти под словарь (7z еще больше), на мобиле ее обычно чуть более 1 мб.
Итак если мы распаковываем файл 2 мб, то после 1 мб останов или
можно было бы реализовать подкачку как в windows, но т.к. доступ к данным словаря идет хаотично, то при самых оптимистичных прогнозах попадания в кеш 99% на оставшийся 1% 1 мб нашего примера придется 10000 подгрузок с флеша, что весьма долго и вообще неприемлемо.
Для rar <2.9 хватает словаря 1 мб, я лично распаковывал файлы >32мб, далее надоело.
2. Почему не поддерживается максимальное сжатие?
Там используется другой алгоритм, написанный на "тяжелом" си и переводить его на java у меня нет желания :(ввиду отсутствия на java указателей)
кто хочет - может попробовать сам :)
Для облегчения скажу что на смартфонах с архивами максимального сжатия тоже встречаются проблемы (в других прогах, само собой :)
3. У меня не распаковывается архив !
Вам не повезло...А кто обещал что он будет распаковываться? Распакуйте через комп.
Впрочем 80% и более взятых мной наугад архивов подходящего размера успешно распаковываются.
4. У меня глюки с exe, dll, sys файлами.
При их запаковке _иногда_ используется x86 фильтр, который реализовывать мне было лень :)
Да и зачем вам ехе файлы на мобильном?
5. Не LZMA метод сжатия 7z не раcпаковывает?
Мидлет распаковывает не все 7z архивы и только сжатые "основным" 7z методом LZMA. PC версия 7z поддерживает еще множество методов и форматов, которые оставим для "большого" компа :)
6. Когда будут запаковщики Rar, Zip, 7zip?
Никогда! Для запаковки Zip используйте др. проги, например MobileZip.
Исходников Rar я не встречал, да и закрыты они.
У 7zip посмотрите требования памяти для запаковки и сравните с 1 Мб памяти на мобильном. Хотя все сделать можно, было бы желание (у меня его нет). ИМХО запаковщики на мобильном лишнее.
7. Сделайте поддержку Gzip, LHA, NNN, новый красивый интерфейс и т.п.
Назначение MobileRar - распаковывать основные виды архивов на мобильном телефоне.
ИМХО к основным относятся: zip,rar,7z. Поддержка других архивов _не планируется_.
Красивый интерфейс не улучшит качество распаковки и в принципе излишен. :|
Индикатор прогресса обновляется при чтении каждой очередной порции данных
и используется _только_ для определения момента "подвисания" телефона :)
Спасибо за внимание.