Skip to content
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

[core] Loading of APK files slow #950

Closed
jpstotz opened this issue Jun 10, 2020 · 3 comments
Closed

[core] Loading of APK files slow #950

jpstotz opened this issue Jun 10, 2020 · 3 comments
Labels
bug Core Issues in jadx-core module

Comments

@jpstotz
Copy link
Collaborator

jpstotz commented Jun 10, 2020

Using the latest unstable version jadx-1.1.0-b1301-65553c15 loading larger APK files, such as Spotify or any other APK files has become very slow.

I noticed that while the initial loading process dozens of temporary zipfs* temporary files are created and deleted next to the APK file. Mostly the temporary files I have seen are just a few KB large, hence processing them in-memory would be preferable instead of creating a temporary file that lives just a few milliseconds.

@jpstotz jpstotz added bug Core Issues in jadx-core module labels Jun 10, 2020
@jpstotz jpstotz changed the title [core] Loading of APK files slow or incomplete [core] Loading of APK files slow Jun 10, 2020
@skylot
Copy link
Owner

skylot commented Jun 10, 2020

@jpstotz thanks for the report! I made a fix, also this fix can resolve #949, please check.
Anyway, please note that after commit 0d69e0a a loading time is increased by 2-4 seconds because of dependency collection.

@jpstotz
Copy link
Collaborator Author

jpstotz commented Jun 11, 2020

@skylot Thanks loading works much better now.

Just for curiosity: What dependencies are you talking about - Jadx dependencies or dependencies of the APK that is loaded?

@skylot
Copy link
Owner

skylot commented Jun 11, 2020

@jpstotz apk class dependencies and usage of fields and methods.
I will use such info for many things:

  • deterministic class decompilation order
    (done, now changes between runs must considered as a bug)
  • fixing access modifiers
  • aggressive anonymous and lambda inlining
  • synthetic and bridge methods inline
  • help for gui features: rename and find usage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Core Issues in jadx-core module
Projects
None yet
Development

No branches or pull requests

2 participants