-
Notifications
You must be signed in to change notification settings - Fork 404
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
Question: how does it work? #8
Comments
That's implementation detail of SSIV, briefly speaking: It does a downsampling when load the image fully into screen (as a Bitmap, so it's in java heap), that downsampling is optional too, if the image is very small, no downsampling happens, then when user zoom the image, only several regions of the image is decoded (also as Bitmap, java heap). For more detail, you can refer to https://github.com/davemorrissey/subsampling-scale-image-view . |
I see. Can you also add the JNI solution? In the past, I created a library that shows how to mess around with bitmaps, but sadly it doesn't do the decoding in JNI: https://github.com/AndroidDeveloperLB/AndroidJniBitmapOperations |
Image loading and cacheing, that's the responsibility of image loading library, e.g. Fresco, Glide, Picasso, and image displaying, including downsampling, pan and zoom, animation, etc, is the responsibility of image displaying library, e.g. SSIV. This library focus on bridging them together, although currently only image loading library is configurable, but if there are other brilliant image displaying libraries, make it configurable is very easy. |
I'm not complaining. I just suggest this as another option, because I think a single decoding (even if it's a bit long) might be better than multiple ones, as long as your device has enough RAM. |
Yep, I understand. But I really think that's another image displaying library. Besides, I don't have enough knowledge and time to do such thing, currently. If you have a good solution, I can modify this library to use your image viewer as an option :) |
Sadly the more I read about it, the more complex I saw of how to decode images in JNI. |
I'm going to close this issue, if you have other questions, please feel free to reopen it :) |
Does it do downsampling again and again on the same file, or does it load all into JNI, and then just pick the pixels it needs ?
Or maybe it has the option to choose from them ? I mean, it would be a waste to downsample all the time, when you can have it all in the RAM (without being afraid of OOM) ...
The text was updated successfully, but these errors were encountered: