00:00
接下来呢,咱们来实现。它的作用就是要分析打包资源的一个大小,将来呢,我们好去知道哪些资源比较大,针对性的进行优化,并且呢,把分析后的结果呢,输出成一个分析文件,咱们呢就输出成一个麻袋文件,方便我们操作。那么同样呢,还需要考虑的一个点就是到底我应该在哪里去分析它。首先大家需要想的就是咱们要分析资源呢,这个资源必定是我最终要输出的,这个资源需要进行分析,而不是一上来拿到源代码进行分析,源代码没有进行压缩,这个体积是比较大的,而这个最终输出的代码呢,是经过压缩的,它是体积会相对来讲小一点。所以同样的,我们会是在文件输出之前那里。去分析,还是用上compare whoseit的钩子去做?OK,知道这个,接下来我们就好完成这个analyze。
01:05
下面呢,我们在parkins里面新建一个analyze。We apply。分析我们的一个打包资源情况。好了,那么下面我们就可以去分析,那么一样的还是写上。在这里得到对象。通过comp对象。点whose注册钩子。点tab我们同步操作就够了。ANA otherwise apply。
02:01
在这里,我们可以得到对象。我们的需求是怎样呢?是?遍历所有啊,即将输出的文件。得到其大小。然后呢,最终生成。大概就这样的,那么所有资源,所有输出的文件呢,就在access里面,这里面有所有输出的资源。它的效它的样子呢,是一个对象啊,K是这个资源的这个路径,Value是资源的一个对象,资源的具体情况里面有source方法可以得到资源的具体内容,有一个size方法可以得到资源的具体大小。
03:00
我们要的是什么呢?我们要的是资源名,资源名在这个K这里就有资源名,还需要什么呢?这个资源的大小,这是我们需要的。所以这里呢,我们可以用一种方式来做啊,非常方便的一种方式叫object entries方法。它可以将一个对象。变成一个二维数字。我们用一个图形来表示会非常形象。对象,原对象长这个样子。Key。EE。K2Y62。大概是这样子,我就不一一列示了,那么它会把它变成一个二维数组,当然没有改变原数据返回值是这个二维数组。数组里面套数组左边是K1。
04:02
右边是value。那么左边是K2,右边是Y62。那么这样的话呢,方便我们直接去便利,左边就是文件名,然后右边value是个对象,调用对象的set方法就可得到文件大小,这样操作起来非常的方便。我们接下来就可以进行遍历,然后进行操作了。Object entries,那这样我就可得到我们想要的所有资源文件,那我就记住access吧。然后呢,我们呢,定义一个我们最终要输出的这个资源的一个内容。叫可能。我们希望输出成一个。Table表格的形式。那么在Mac当中,表格的语法是怎样呢?我们要给大家写一下。
05:06
它是一个竖线。然后呢,比方说我们叫资源名称。然后出现。思域大小。书写,然后下面这里有一个固定语法,必须要这样写。然后再向下面去写某个资源。然后以及它的大小。大概是这样的一个语法。而前面部分是固定的,后面这个内容就要根据资源情况去生产,所以我们一上来可以把前面部分给写死。来。第一个。要换行。第二个,那么为了让它不产生多余的空格的话呢,我把它顶行写。然后呢,接下来呢,我我就不换行了啊,接下来接下来往后面去拼串就好了。
06:06
便利assets。编辑出来的呢,它里面是个二维数组,我们直接可以解封,就不用这么这么费劲了,左边是文件路径啊,其实就是文件名,右边是这个文件的具体情况。所以我们最终呢,需要做的就是让这个追加。加等于。我们呢,每一行都要换行,加的效果呢,就是斜斜杠,然后呢,这是资源名。写了。然后在资源大小。最大小的调用size方法就好了。然后再一个竖线,那么这样呢,它就拼上了。拼上之后可能就有所有的内容。那么最后我们希望在输出的时候再追加一个model文件,然后呢让它输出去。
07:04
这个做法就是通过compilation。在这里面追加一个我们想要输出的一个文件,比如说我们叫analyze点。这的文件呢,我们要做的就是指定它输出的内容是啥,就是content。以及指定文件大小是多少,那么就是content。这样就完成了这个分析资源的一个。Page。做法很简单,就是拿到所有资源啊,然后呢,为了方便操作,把它变成一个二维数组。通过entries方法。然后呢,我们定义一下我们这个表格的一个前缀。下面我们就可以。把这个资源拼上去。然后记得换行啊,不然的话在同一行这个没法整。最后呢,在这个输出资源中追加一个资源,那么它就会多一个资源输出了。
08:01
下面我们把这个插件用上,然后看效果。再下面又加了。一定之后我们重新打包,这时候我们打包的资源就会多一个分析的资源文件的一个情况。多NS第八,那么左边是这个。它的一个文件名,右边是资源大小。那么我们没加单位啊,如果你有需求的话,可以给它加上一个大的单位,它单位是BY。如果你要转换为千字键,可以除以一个1024,然后再取整,然后再可以做的更好一点,比方说我们转换成KB吧。因为拜呢,一般我们不是很想去看啊。做法呢,也简单,我们除以1.24。
09:05
我们直接取整。我们向上去整。就是比方说他是。十减一,那我就11吧。当然你也可以四舍五入啊,这个都行啊,如果你觉得也可以,就四舍五入也OK。那么下面我们再打吧。最后给它带一个单位KB,重新打包一下。那么这里呢,就是它的一个资源大小的一个情况了。咱们的图片呢,有195KB 5KB 129KB,然后这个是3KB啊,应该剩的呢,四舍五入变成0KB了啊。所以如果你想它不至于0KB的话呢,你其实这里可以向上去整,那么这样的话呢,至少不会出现0KB这样一个尴尬局面。
10:04
OK,那么最终它就是个1KB了。好了以上呢,这个就是我们一个操作啊,它可以直接分析这个打包资源的一个输出的一个情况,这样呢,方便我们将来及时的对资源进行调整。左边是实际输出的内容,右边是我巴大预览的一个项目。好了,这里就是我们的分析打包资源输出的一个漏。
我来说两句