දත්ත සංකුචනයේ නව තාක්ෂණයක් වන Zstandard (zstd) දැන් Android හා Java පරිසරයන්ට පූර්ණ Java භාෂාවෙන් ක්රියාත්මක වන unzstd නමින් නව ඩිකෝඩරයක් හඳුන්වා දී ඇත. කුඩා යෙදුම් වලින් විශාල සංග්රහණයන් සම්පූර්ණයෙන්ම විග්රහ කළ යුතු අවස්ථා වැඩි වීමත් සමඟ, නව විසඳුමක් ඉතා වැදගත් වුණි.
ලේඛකයා Android යෙදුමක් තුළ zstd-සංකුචිත දත්ත පූර්ණයෙන්ම විග්රහ කිරීමට උත්සාහ කළේය. එයට පළපුරුදු ලයිබ්රරීන් පරීක්ෂා කළේය, නමුත් සෑම එකම දෝෂයක් හෝ අඩුපාඩුයක් හමුවේ. aircompressor 2.x "sun.misc.Unsafe" මත පදනම් වූ අතර Android ART හි ක්රැෂ් වීමක් ඇති විය. aircompressor 3.x "java.lang.foreign" වෙත මාරු වූවාද, ඒක Android තුළ සහය නොලැබේ. zstd-jni නියමයෙන් වැඩ කර තිබුණද, එයට ස්වාභාවික .so ගොනු, ABI-විශේෂ පැකේජ් කිරීම, නව Android මතක පිටු අවශ්යතා වැනි බරපතළ සංකීර්ණතා තිබුණි.
මෙම සීමා මත, ලේඛකයා පූර්ණයෙන්ම Java භාෂාවෙන් ලියන නව ඩිකෝඩරයක් නිර්මාණය කිරීමට තීරණය කළේය. aircompressor හි ඩිකෝඩරය පරිවර්තනය කර, සියලු "Unsafe" සහ "java.lang.foreign" යොදා ගැනීම ඉවත් කරමින්, Android API 26+ සහ JVM 9+ සමඟ අනුකූල වූ, ස්වාභාවික කේත රහිත විසඳුමක් ලබා ගත්තා.
unzstd හි විශේෂතා:
- ස්වාභාවික කේත රහිත – .so ගොනු අවශ්ය නැත.
- "Unsafe" නැති – සෑම බයිට්කෝඩ් එකකම පරීක්ෂා කර තහවුරු කර ඇත.
- Android 8 (API 26) සහ Java 9+ සමඟ සම්පූර්ණ අනුකූලතාව.
- Apache 2.0 බලපත්රය යටතේ නිදහස්ව භාවිතා කළ හැක.
නිවැරදි බව තහවුරු කිරීම සඳහා, ලේඛකයා libzstd සමඟ 1‑22 සම්පීඩන මට්ටම්, එකවර විග්රහ, ස්ට්රිම්, fuzzing සහ දෝෂ‑සීමා පරීක්ෂණයන් කළේය. සියලු පරීක්ෂණවලින් අනුකූලතාවය සනාථ වූ අතර, දැන් ඕපන් සෝස් වශයෙන් GitHub හි ලබා ගත හැක.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලාංකීය සංවර්ධකයින්, විද්යාල සිසුන්, ව්යාපාරිකයන් සඳහා මෙම නව ලයිබ්රරියෙන් ලැබෙන ප්රතිලාභ මෙසේය:
- ඉගෙනුම් පහසුකම: Java‑මූලික පරිසරයක පමණක් භාවිතා කළ හැකි නිසා, Android සහ JVM පාඨමාලාවල සංකුචනයේ නවතම තාක්ෂණය අධ්යයනය කළ හැක.
- ආර්ථික ඉතිරි කිරීම: ස්වාභාවික කේත රහිත බැවින්, විවිධ ABI සඳහා වෙනම .so ගොනු සකස් කිරීමේ කාලය හා පිරිවැය ඉවත් වේ.
- ව්යාපාරික නවෝත්පාදනය: දත්ත ප්රවාහන වේගය වැඩි කර, මොබයිල් යෙදුම් වල සම්පූර්ණ පිරිසිදුකම රැකගත හැක, එමඟින් පාරිභෝගික අත්දැකීම් වර්ධනය වේ.
ඉදිරියේදී Android, Java, Kotlin වැනි තාක්ෂණයන්හි zstd‑සංකුචිත දත්ත භාවිතා කරන ඕනෑම ව්යාපෘතියකට unzstd එක සැලකිය යුතු උදව්වක් වනු ඇත.
ඔබේ Android යෙදුමට දැන්ම මෙම පූර්ණ Java ඩිකෝඩරය අත්හදා බලන්න, සහ වැඩිදුර තොරතුරු GitHub පිටුවේ පරීක්ෂා කරන්න.