mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-04-29 22:04:25 +02:00
improve merging performance #26
This commit is contained in:
parent
74c0f533de
commit
f0088a0279
@ -39,6 +39,7 @@ public class ApkBundle {
|
||||
}
|
||||
ApkModule result=new ApkModule(generateMergedModuleName(), new APKArchive());
|
||||
result.setAPKLogger(apkLogger);
|
||||
result.setLoadDefaultFramework(false);
|
||||
|
||||
mergeStringPools(result);
|
||||
|
||||
|
@ -381,10 +381,15 @@ package com.reandroid.arsc.chunk;
|
||||
}
|
||||
setName(packageBlock.getName());
|
||||
getLibraryBlock().merge(packageBlock.getLibraryBlock());
|
||||
mergeSpecStringPool(packageBlock);
|
||||
getSpecTypePairArray().merge(packageBlock.getSpecTypePairArray());
|
||||
getOverlayableList().merge(packageBlock.getOverlayableList());
|
||||
getStagedAliasList().merge(packageBlock.getStagedAliasList());
|
||||
}
|
||||
private void mergeSpecStringPool(PackageBlock coming){
|
||||
this.getSpecStringPool().addStrings(
|
||||
coming.getSpecStringPool().toStringList());
|
||||
}
|
||||
/**
|
||||
* It is allowed to have duplicate type name therefore it is not recommend to use this.
|
||||
* Lets depreciate to warn developer
|
||||
|
@ -158,8 +158,7 @@ public class ValueHeader extends BlockItem implements JSONConvert<JSONObject> {
|
||||
return;
|
||||
}
|
||||
StringItem stringItem = stringPool.getOrCreate(name);
|
||||
setKey(stringItem.getIndex());
|
||||
linkStringReference(stringItem);
|
||||
setKey(stringItem);
|
||||
}
|
||||
public void merge(ValueHeader valueHeader){
|
||||
if(valueHeader == null || valueHeader ==this){
|
||||
|
Loading…
x
Reference in New Issue
Block a user