Add asset-based match index support for KSP library modules #391
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.
This change adds an optional asset-based approach for storing the match index binary data when using KSP with the manifest-generation plugin. Instead of encoding the binary data as strings in the generated registry class, the match index is written as an Android asset file and loaded at runtime via AssetManager.
Key changes:
The asset-based approach provides:
Both modes (asset-based and string-based) are supported per-registry level.
I did run benchmarks on this and in the registry creation (the important benchmark) the asset based approach is bout 20-25% faster, less than I had hoped but this also simplifies this significantly especially once we drop kapt support.