На самом деле есть лучший способ (все еще использующий BitmapFactory, хотя).Вы можете использовать ту же самую фабрику, но НЕ читать саму битовую карту (которая намного быстрее конечно).Существует версия decodeFile, в которой есть параметр Options, и вы можете указать, что он должен читать только размер растрового изображения (и тип курса), а не сам растровое изображение:
String filePath;// assign the file to the path
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap img = BitmapFactory.decodeFile(filePath, options);
if (img == null) {
// invalid image file
}
else {
// valid image file
}