Я хочу загрузить изображения в Android, но если изображение слишком велико, я хочу изменить его размер до до загрузки.Я узнал, что можно использовать BitmapFactory, чтобы получить только размер изображения, затем можно выяснить соответствующий коэффициент масштабирования и использовать BitmapFactory, чтобы загрузить изображение с требуемыми размерами (согласно очень компетентным советам, которые я нашел в этомсвязанная тема ).
Так что я попробовал это, и он отказался работать.Я провел последний час, просматривая код, пытаясь выяснить, почему такая простая операция не имела никакого эффекта (коэффициент масштабирования был полностью проигнорирован!)
Затем я наткнулся на проблему с Android3072 ... оказывается, это было определено как поврежденное для файлов GIF в течение более двух лет.Я понимаю, что GIF не совсем современный, но он все еще там и широко используется (в моем тестовом наборе их много, поэтому он казался разбитым равномерно, пока я не нашел этот отчет об ошибке).
Мой вопрос заключается в том, что я могу использовать в качестве альтернативы BitmapFactory, которая будет правильно читать и изменять размер файла GIF при использовании коэффициента масштабирования, не игнорируя его автоматически? Ограничения памяти не позволяют загружать большие изображения напрямую для дальнейшей обработки, поэтомуможет потребоваться потоковое решение.
Мой другой вопрос: сколько других сталкиваются со старыми, нефиксированными ошибками, подобными этой, и либо не осознают это, либо хуже, полагаются на API для точного выполнения запрошенной функциии в конечном итоге с утечками памяти и другими странными сюрпризами?