• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Identical Files Finder - my new app on Google Play - Identical Files Finder

Nice job, Marcel! :)

I've often thought of writing such an app, but was worried it would be to slow (which it probably would be on many older devices and their relatively slow SD cards).

Are you calculating an MD5 or SHA1 in order to (easily) tell if the files are identical? (that would have been my methodology)

Also, you might (if you're not already) sort the list by file (byte) size first and only compare the files with the same file size (if they're different sizes, the content must be different, of course)--that could really speed-up your scan.

I also really like how you annotated the screenshots in the Play Store listing--that's a great idea and I'm sure very helpful to folks reviewing and using your app.

Cheers and best of luck!

:)
 
  • Like
Reactions: Unforgiven
Upvote 0
Are you calculating an MD5 or SHA1 in order to (easily) tell if the files are identical? (that would have been my methodology)
I was curious of this too, but thinking it through, wouldn't you only want to do this where both the name and file size were the same? If either didn't match the the MD5 or SHA1 wouldn't match either, correct? Am I mistaken in that?
 
  • Like
Reactions: scary alien
Upvote 0
Yeah, I've manually generated SHA1s and/or MD5s for lists of files before to find dupes--it's a really good method, but there is a resource requirement (reading thru the file(s) and calculating the digest) which may be non-trivial on a low-end device.

The OP may indeed have already considered some of this issues (as he has already adroitly done for some of the other nuances)
 
  • Like
Reactions: Unforgiven
Upvote 0
Nice job, Marcel! :)

I've often thought of writing such an app, but was worried it would be to slow (which it probably would be on many older devices and their relatively slow SD cards).

Are you calculating an MD5 or SHA1 in order to (easily) tell if the files are identical? (that would have been my methodology)

Also, you might (if you're not already) sort the list by file (byte) size first and only compare the files with the same file size (if they're different sizes, the content must be different, of course)--that could really speed-up your scan.

I also really like how you annotated the screenshots in the Play Store listing--that's a great idea and I'm sure very helpful to folks reviewing and using your app.

Cheers and best of luck!

:)
Wowwww,
Just came to home and I see a real thread here :)
I had few implementations before publishing it to Google Play, including MD5 .

The current (I think the fastest) implementation is next one:
  1. group files by size (this gain a lot of speed) .
  2. exclude groups that have just one file
  3. compare files' content from each group byte by byte (when a single byte is different return from procedure)
    • when two files are different two different groups are created.
    • for each group a file is used as key , when a new file has to be processed, I compare it only with the key file (this also gain a lot of speed)
Notes:
  1. I ignore extension or file name because very often we may find different file names that have identical content.
  2. The most time consuming process is reading files from external SD card. Any CRCsum (I've try MD5) didn't help. To calculate the CRCsum the files have to be read once, so it helps when we have at least 3 very large identical files . And the cases where we have more than two files of the same size, identical and very large size (100MB+) are very very rare.
  3. I've did a lot of fine tuning to see what is the proper buffer size to be used when reading files from storage, and I ended with 4KB . On most devices if I increase or decrease the size of the buffer the read time will increase.
I had in mind this application since almost two years when I had a phone with "just" 4GB of flash. All the other apps on the google play were too big, or can not be moved/installed on external SD card.
So, I've try to create a small apk that can be moved to to SD card, and to be reasonable fast. In the meantime I've changed the phone :D
I've also try to keep the GUI as simple as possible, to have a small apk size.

Thanks a lot
 
  • Like
Reactions: scary alien
Upvote 0
Hi *,
I need some help.
If someone has an LG K10 4G device with Android 5.1, could you please install my app and tell me if it works or not?
https://play.google.com/store/apps/details?id=ro.notnull.IdenticalFilesFinder

I just got 1* review, the comment was "Couldn't figure how to make it function", and nothing else :(.
So, I do not know if it is a crash or something else.
All that I know is the fact that the user has this device type:

Device: K10 LTE (m209)
Manufacturer: LGE
Device type: Phone
Device language: English
CPU make: Qualcomm
CPU model: MSM8916
Native platform: armeabi-v7a, armeabi
RAM (MB): 1024
Screen size: 720 × 1280
Screen density (dpi): 320
OpenGL ES version: 3.0
OS: Android 5.1

Thanks!
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones