String Array
stringArray
stringArray विकल्प डिफ़ॉल्ट रूप से चालू रहता है और अधिकांश ऑब्फ़स्केशन की नींव है। यह स्ट्रिंग लिटरल्स को निकालकर एक विशेष ऐरे में रखता है।
String Array एन्कोडिंग
एन्कोडिंग स्ट्रिंग्स को एन्कोड करके सुरक्षा की एक और परत जोड़ती है:
none- कोई एन्कोडिंग नहीं, स्ट्रिंग्स जैसी हैं वैसी ही रखी जाती हैंbase64- तेज़ एन्कोडिंग, मध्यम सुरक्षाrc4- अधिक मज़बूत सुरक्षा,base64से लगभग 30-50% धीमी
हर स्ट्रिंग के लिए एन्कोडिंग को यादृच्छिक रूप से मिलाने के लिए ['base64', 'rc4'] का उपयोग करें।
अगर स्ट्रिंग लुकअप किसी बड़े बंडल को धीमा कर दें, तो stringArrayThreshold (डिफ़ॉल्ट 0.75; बिल्ट-इन प्रीसेट अपना मान खुद सेट करते हैं, उदाहरण के लिए VM Default में 1) कम करें: यह इस बात की संभावना है कि कोई दिया गया स्ट्रिंग लिटरल ऐरे में ले जाया जाएगा, और 0 का मतलब वही है जो stringArray को बंद करना।
