It's quite good!
But it looks like it can't load any file over 50 MB. A 63 MB file is loaded but the UI hangs and doesn't react to any screen touch. With a 160 MB file it resets itself to an empty new screen.
I don't have "partial loading" in the settings but "changes only". If I enable that then the app crashes again and again when trying to load a large file.
I think if you can find a way to open and edit large files then your app will be at the top
There are some open source hex editors like this one: https://github.com/WerWolv/ImHex
Maybe that can give you some ideas
Hi, it seems you found multiple bugs there. Looks like I should have tested with bigger file than 40 MB Hopefully I'll fix some of them in the future...
Duke wrote: ↑02 Dec 2024, 21:13
So it's possible to open large files. I wonder why apps won't do it since I have gigabytes of free memory and we are talking about 50-100 MB
In my case, I used normal Java array allocation using heap, which seems to be heavily restricted because of older phones with small memory - which I didn't know before. There is an option to request bigger heap, but there is also an option to allocate memory outside of heap, which other apps written in C (like for example browsers) use by default.
But in changes only mode I have probably rendering bug (integer overflow)
So the blocker is the Java limitation.
Just an idea: I wonder how media players are working because they can play files that are several GB large and even seek into them so they obviously don't entirely load them into memory but just parts.
In fact it's tricky. I can open a 196 MB file but only if I open it first. If I have opened some other files before then it fails. Maybe the memory is not fully released when taping on the Open menu item ?
I can also open this 196 MB file if I tap on New before opening it. However trying to open a 265 MB file always fails, it resets to an empty board.
I also miss the ability to drag the location maker on the right side for navigating faster inside the file.
I assume that basically all media players are written in C or at least the video playback part is, so they are not limited by Android runtime heap.
As for scrollbar I tried that, but was not successful - still decided to release the app to have at least some functionality available for users. I'll try to look into it again next time as well as memory allocation issues...
Well, this is my first Android app and side variant of my side project and I have got like hundreds of tasks in my task list and I'm not particularly productive programmer so don't expect much. I guess that's the thing to expect when you are dealing with free software or open source
I'm not blaming you at all, just reporting things trying to help you
Your app is very good, that's by far the best hex editor for Android I've found yet