Disk code cache and search rewrite #1483
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New code cache option: save decompilation results on disk.
This allows to reopen project without additional decompilation and reduce memory usage.
Also, search was heavily modified to support slow loading from disk.
Implementation details:
*.cache
near project file or loaded file.jadxmd
extension).This allows to load only code for text search
code-version
fileThis reduces search time if all results not really needed.
Added new option to change code cache, possible values:
* Depends on OS disk caching (on Linux files often loaded into memory and performance similar
Disk with cache
option)Breaking changes to jadx API:
ICodeInfo
: lines and code annotations moved to new interfaceICodeMetadata
with helpful search methodsICodeAnnotation
instead Object.If possible, please try this changes and share your thoughts, suggestions and bugs 🤣
Fixes #444