最近打包了一下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 中项目设置的话 我没做过,感觉还是先从源头解决比较好
新闻热点
疑难解答