最近打包了一下apk,9兆,按說不算大,可是上級說你接手之前只有四兆,我就換了一個zxing.jar,把項目中的我覺得不好用百度換成了高德地圖,apk就多了四兆多,一開始很想不通,仔細看了幾遍項目沒有什么能刪的,我也沒寫多少代碼。今天閑著又翻到項目里看,我驚了,zbar的.so文件有4兆,果斷換了zxing.3.3識別率高 也只有幾百K,compile 'com.journeyapps:zxing-android-embedded:3.3.0@aar'compile 'net.qiujuer.genius:blur:2.0.0-beta4'IntentIntegrator integrator = new IntentIntegrator(this);integrator.setCaptureActivity(CaptureActivity.class);integrator.setBeepEnabled(true);integrator.setPRompt("請將二維碼對準取景框中");integrator.setCameraId(0);integrator.initiateScan();@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { IntentResult intentResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (intentResult.getContents() != null) {}}幾行代碼就搞定了,比zbar簡單當然比老版本的zxing 也簡單識別率不知道比zbar是不是高,沒測試過,感覺差不多,比老版本強了好多這個框架換下來少了1兆然后是圖片,項目里有1920*1080的死圖,還是毛玻璃的,突然想到了100*100的圖片充滿全屏會有馬賽克,不清晰,突然想到了安卓自帶的高斯模糊!!!說干就干compile 'net.qiujuer.genius:blur:2.0.0-beta4'Bitmap bt = BitmapFactory.decodeResource(getResources(), R.drawable.xxx);Bitmap newBitmap = StackBlur.blurNatively(bt, 20, false);binding.img.setImageBitmap(newBitmap);搞定!500K的背景圖 直接修改分辨率成10K,兩個背景圖就是一兆還有如果你急于降低apk大小 不要刪代碼,切忌 ,你刪幾十個就少一二十K,別問我怎么知道的至于更高級的減小apk大小的方法,修改Studio 中項目設置的話 我沒做過,感覺還是先從源頭解決比較好
新聞熱點
疑難解答