美文网首页
apk体积过大, scrollview去掉滑动条,setAnti

apk体积过大, scrollview去掉滑动条,setAnti

作者: dream0915 | 来源:发表于2017-09-18 16:03 被阅读0次

    之前开发遇到过许多的bug,还有坑.现在记录一下.还有一些不清楚的地方,也记录一下.

    (一)  apk体积过大.当开发已经完成,apk打包完成,你突然发现,明明功能也不多,包怎么会这么大....这时候应该怎么处理呢?

    1. 仔细查看项目中的第三方库.

    a.   因为我们的app开发周期短,急于呈现一个开发结果,当时不熟悉视频开发的我直接使用了第三方库-vitamio.

    因为这个库的体积比较大,所以打包出来的apk相应的体积就变大了.想想vitamio在项目中的使用,不过就是封装了个视频播放进度条(包含起始时间,结束时间,以及正在播放的进度Progressbar),这样的视频播放进度条完全可以自己使用surfaceView和mediaplayer来封装.所以就自己封装了一个.

    去掉这个第三方库后release包的体积比之前减少了10M.

    b. 直接把第三方库中的代码抽出来.

    本来我们使用gradle进行代码管理,加入第三方库都是在

    图-1

    将第三库需要的带抽出来,然后去掉依赖.

    2.  删除多余的代码.根据项目进度来看,需求是不断改变的.很多代码的可用性已经变成了0.所以把多余的代码删掉.也能节省一些空间.

    3. 清理asset文件夹.也许有一些文件放到asset中并没有使用过,清理掉.

    (二)当一个布局文件太长,超出屏幕之外的时候(纵向),我们就要使用scrollview来包装一下.使用户能够通过手指滑动看到全部的内容.           

    但是右侧的滑动条实在是太丑了,使用android:scrollbars="none" 来去掉滑动条.

    还有要注意的就是scrollview只能有一个子View,否则就会报错.

    (三)当看PagerSlidingTabStrip(一个类似头条新闻顶部随着viewpager的滑动文字下面的线条页跟着滑动的控件)的时候,发现在构造器中出现了

    setFillViewport(true);

    这句话的官解是:

    就是如果你的内容没有填满屏幕,那么该空间是不会填满屏幕的.但是设置了这个之后,无论你的内容有没有填满屏幕,都会默然填满.

    setWillNotDraw(false);

    如果一个自定控件继承的是ViewGroup,那么重写onDraw方法可能不会执行onDraw里面的内容.设置这条之后便会执行onDraw的内容了.

    顺便补充一下:

    setAntiAlias(true).  这个的作用是抗锯齿.即用来防止边缘的锯齿.

    @SuppressLint标注忽略指定的警告

    相关文章

      网友评论

          本文标题:apk体积过大, scrollview去掉滑动条,setAnti

          本文链接:https://www.haomeiwen.com/subject/whuksxtx.html