深入探索Android包体积优化(匠心制作下)成为一名优秀的Android开发,需要一份完备的知识体系,在这里,

通常来说,当应用处于成长期的中后阶段时,才会考虑去做系统的包体积优化,因此,只有在这个阶段及之后,包体积优化带来的收益才是可观的。

众所周知,Android构建工具链中使用了AAPT/AAPT2工具来对资源进行处理,Manifest、Resources、Assets的资源经过相应的ManifesMerger、ResourcesMerger、AssetsMerger资源合并器将多个不同moudule的资源合并为了MergedManifest、MergedResources、MergedAssets。然后,它们被AAPT处理后生成了R.java、ProguardConfiguration、CompiledResources。如下图左上方所示:

其中ProguardConfiguration、CompiledResources的作用如下所示:

APK的资源主要包括图片、XML,与冗余代码一样,它也可能遗留了很多旧版本当中使用而新版本中不使用的资源,这点在快速开发的App中更可能出现。我们可以通过点击右键,选中Refactor,然后点击RemoveUnusedResource=>preview可以预览找到的无用资源,点击DoRefactor可以去除冗余资源。如下图所示:

需要注意的,AndroidLint不会分析assets文件夹下的资源,因为assets文件可以通过文件名直接访问,不需要通过具体的引用,Lint无法判断资源是否被用到。

此外,当我们通过shrinkResourcestrue来开启资源压缩,资源压缩工具只会把无用的资源替换成预定义的版本而不是移除。那么,如何高效地对无用资源自动进行去除呢?

我们可以在Android构建工具执行package${flavorName}Task之前通过修改CompiledResources来实现自动去除无用资源,具体的实现原理如下:

通过查看Zip格式资源包中每个ZipEntry的CRC-32checksum来寻找被替换的预定义资源,预定义资源的CRC-32定义在ResourceUsageAnalyze中,如下所示:

具体的实现代码如下所示:

aaptOptions{cruncherEnabled=false}此外,我们还要注意对图片格式的选择,对于我们普遍使用更多的png或者是jpg格式来说,相同的图片转换为webp格式之后会有大幅度的压缩。对于png来说,它是一个无损格式,而jpg是有损格式。jpg在处理颜色图片很多时候根据压缩率的不同,它有时候会去掉我们肉眼识别差距比较小的颜色,但是png会严格地保留所有的色彩。所以说,在图片尺寸大,或者是色彩鲜艳的时候,png的体积会明显地大于jpg。

下面,我们就着重讲解下如何针对性地选择图片格式。

在GoogleI/O2016中,讲到了如何选择相应的图片格式。首先,如果能用VectorDrawable来表示的话,则优先使用VectorDrawable;否则,看是否支持WebP,支持则优先用WebP;如果也不能使用WebP,则优先使用PNG,而PNG主要用在展示透明或者简单的图片,对于其它场景可以使用JPG格式。简单来说可以归结为如下套路:

VD(纯色icon)->WebP(非纯色icon)->Png(更好效果)->jpg(若无alpha通道)

用图形化的形式如下所示:

最后,如果要在项目中使用VD,则以下几点需要着重注意:

与VD类似,还有一种矢量图标iconFont,即字体图标,图标就在字体文件里面,它看着是个图标,其实却是个文字。它的优势有如下三个方面:

它的缺点也很明显,大致有如下三个方面:

如果不是纯色小icon类型的图片,则建议使用WebP。只要你的App的minSdkVersion高于14(Android4.0+)即可。WebP不仅支持透明度,而且压缩率比JPEG更高,在相同画质下体积更小。但是,只有Android4.2.1+才支持显示含透明度的WebP,此外,它的兼容性不好,并且不便于预览,需使用浏览器打开。

此外,在Gradle构建APK的过程中,我们可以判断当前App的minSdkVersion以及图片文件的类型来选用是否能使用WebP,代码如下所示:

然后,我们来讲解下资源如何进行混淆。

同代码混淆类似,资源混淆将资源路径混淆成单个资源的路径,这里我们可以使用AndroidResGuard,它可以使冗余的资源路径变短,例如将res/drawable/wechat变为r/d/a。

下面,我们就使用AndroidResGuard来对资源进行混淆。

APK生成目录如下:

对于AndResGuard工具,主要有两个功能,一个是资源混淆,一个是资源的极限压缩。下面,我们就来分别了解下它们的实现原理。

资源混淆工具主要是通过短路径的优化,以达到减少resources.arsc、metadata签名文件以及ZIP文件大小的效果,其效果分别如下所示:

AndResGuard使用了7-Zip的大字典优化,APK的整体压缩率可以提升3%左右,并且,它还支持针对resources.arsc、PNG、JPG以及GIF等文件进行强制压缩(在编译过程中,这些文件默认不会被压缩)。那么,为什么Android系统不会去压缩这些文件呢?主要基于以下两点原因:

我们可以通过内联RField来进一步对代码进行瘦身,此外,它也解决了RField过多导致MultiDex65536的问题。要想实现内联RField,我们需要通过Javassist或者ASM字节码工具在构建流程中内联RField,其代码如下所示:

我们可以把所有的资源文件合并成一个大文件,而一个大资源文件就相当于换肤方案中的一套皮肤。它的效果比资源混淆的效果会更好,但是,在此之前,必须要解决解析资源与管理资源的问题。其相应的解决方案如下所示:

我们需要根据App目前所支持的语言版本去选用合适的语言资源,例如使用了AppCompat,如果不做任何配置的话,最终APK包中会包含AppCompat中所有已翻译语言字符串,无论应用的其余部分是否翻译为同一语言。对此,我们可以通过resConfig来配置使用哪些语言,从而让构建工具移除指定语言之外的所有资源。同理,也可以使用resConfigs去配置你应用需要的图片资源文件类,如"xhdpi"、"xxhdpi"等等,代码如下所示:

android...defaultConfig{ ...resConfigs"zh","zh-rCN"resConfigs"nodpi","hdpi","xhdpi","xxhdpi","xxxhdpi"}...}此外,我们还以利用DensitySplits来选择应用应兼容的屏幕尺寸大小,代码如下所示:

android{...splits{density{enabletrueexclude"ldpi","tvdpi","xxxhdpi"compatibleScreens'small','normal','large','xlarge'}}...}9、尽量每张图片只保留一份比如说,我们统一只把图片放到xhdpi这个目录下,那么在不同的分辨率下它会做自动的适配,即等比例地拉伸或者是缩小。

我们可以将一些图片资源放在服务器,然后结合图片预加载的技术手段,这些既可以满足产品的需要,同时可以减小包大小。

如设定统一的字体、尺寸、颜色和按钮按压效果、分割线shape、selector背景等等。

对于主要由C/C++实现的NativeLibrary而言,常规的优化方式就是去除Debug信息,使用C++_shared等等。下面,对于So瘦身,我们看看还有哪些方案。

So是Android上的动态链接库,在我们Android应用开发过程中,有时候Java代码不能满足需求,比如一些加解密算法或者音视频编解码功能,这个时候就必须要通过C或者是C++来实现,之后生成So文件提供给Java层来调用,在生成So文件的时候就需要考虑生成市面上不同手机CPU架构的文件。目前,Android一共支持7种不同类型的CPU架构,比如常见的armeabi、armeabi-v7a、X86等等。理论上来说,对应架构的CPU它的执行效率是最高的,但是这样会导致在lib目录下会多存放了各个平台架构的So文件,所以App的体积自然也就更大了。

因此,我们就需要对lib目录进行缩减,我们在build.gradle中配置这个abiFiliters去设置App支持的So架构,其配置代码如下所示:

defaultConfig{ndk{abiFilters"armeabi"}}一般情况下,应用都不需要用到neon指令集,我们只需留下armeabi目录就可以了。因为armeabi目录下的So可以兼容别的平台上的So,相当于是一个万金油,都可以使用。但是,这样别的平台使用时性能上就会有所损耗,失去了对特定平台的优化。

看到上图中的libimagepipeline_x86.so,下面我们就以这个so为例来写写加载它的伪代码,如下所示:

在Android4.3(API17)之前,单个进程加载的SO数量是有限制的,在Google的linker.cpp源码中有很明显的定义,如下图所示:

至此,可以看到,FaceBook出品的Buck同ReDex一样,里面的功能都十分强大,Buck除了实现LibraryMerge和Relinker功能之外,还实现了三大功能,如下所示:

如果有相应需求或对Buck感兴趣的同学可以去看看它们的实现源码。

我们需要回顾过去的业务,合理地去评估并删除无用或者低价值的业务。

如果所有的功能都不能移除,那就可能需要去转变开发模式,比如可以更多地采用H5、小程序这样开发模式。

对于应用包体积的监控,也应该和内存监控一样,去作为正式版本的发布流程中的一环,并且应该尽量地去实现自动化与平台化。(这里建议任何大于100kb的功能都需要审批,特别是需要引入第三方库时,更应该慎重)

包体积的监控,主要可以从如下三个纬度来进行:

瘦身优化是性能优化当中不那么重要的一个分支,不过对于处于稳定运营期的产品会比较有帮助。下面我们就来看看对于瘦身优化有哪些常见问题。

我们在回答的时候要注意一些可操作的干货,同时注意结合你的项目周期。主要可以从以下三点来回答:

在项目初期,我们一直在不断地加功能,加入了很多的代码、资源,同时呢,也没有相应的规范,所以说,UI同学给我们很多UI图的时候,都是没有经过压缩的图片,长期累积就会导致我们的包体积越来越大。到了项目稳定期的时候,我们对各种运营数据进行考核,发现APK的包大小影响了用户下载的意愿,于是我们就着手做包体积的优化,我们采用的是AndroidStudio自带的AnalyzeAPK来做的包体积分析,主要就是做了代码、资源、So等三个方面的重点优化。

首先,针对于代码瘦身,第一点,我们首先使用Proguard工具进行了混淆,它将程序代码转换为功能相同,但是不容易理解的形式。比如说将一个很长的类转换为字母a,同时,这样做还有一个好处,就是让代码更加安全了。第二点呢,我们将项目中使用到的一些第三方库进行了统一,比如说图片库、网络库、数据库等,不允许项目中出现功能相同,但是却实现不一样的库。同时也做了规范,之后引入的三方库,需要去考量它的大小、方法数等,而且呢,如果只是需要一个很大库的一个小功能,那我们就修改源码,只引入部分代码即可。第三点,我们将项目中的无用代码进行了删减,我们使用了AOP的方式统计到了哪些Activity以及fragment在真实的场景下没有用户使用,这样你就可以删除掉了。对于那些不是Activity或者是Fragment的类,我们切了很多类的构造函数,这样你就可以统计出来这些类在线上有没有真正被调用到。但是,对于代码的瘦身效果,实际上不是很明显。

接下来,我们做了资源的瘦身。首先,我们移除了项目当中冗余的资源文件,这一点在项目当中一定会遇到。然后,我们做了资源图片的压缩,UI同学给我们资源图片的时候,需要确认已经是压缩过的图片,同时,我们还会做一个兜底策略,在打包的时候,如果图片没有被压缩过,那我们就会再来压缩一遍,这个效果就非常的明显。对于资源,我们还做了资源的混淆,也就是将冗余的资源名称换成简短的名字,资源压缩的效果要比代码瘦身的效果要好的多。

最后,我们做了So的瘦身。首先,我们只保留了armeabi这个目录,它可以兼容别的CPU架构,这点的优化效果非常的明显。移除了对别的架构适配So之后,我们还做了另外一个处理,对于项目当中使用到的视频模块的So,它对性能要求非常高,所以我们采用了另外一种方式,我们将所有这个模块下的So都放到了armeabi这个目录下,然后在代码中做判断,如果是别的CPU架构,那我们就加载对应CPU架构的So文件即可。这样即减少了包体积,同时又达到了性能最佳。最后,通过实践可以看出So瘦身的效果一般是最好的。

主要可以从以下两个方面来进行回答:

在大型项目中,最好的方式就是结合CI,每个开发同学在往主干合入代码的时候需要经过一次预编译,这个预编译出来的包对比主干打出来的包大小,如果超过阈值则不允许合入,需要提交代码的同学自己去优化去提交的代码。此外,针对项目的架构,我们可以做插件化的改造,将每一个功能模块都改造成插件,以插件的形式来支持动态下发,这样应用的包体积就可以从根本上变小了。

至此,我们可以了解到,如果要想对包体积做更深入的优化,就必须对APK组成,Dex、So动态库以及Resource文件格式,还有APK的编译流程有深入地了解,这样我们才能有足够的内功素养去实现包体积的深度优化。

THE END
1.用你的姓氏制作微信头像,蛇年56张高端大气签名头像,快来选一张定制立刻设我为星标/置顶- 爱你们哟 《定制指南》 姓氏头像~ 请看公众号主页“个性定制” 用你的姓氏制作微信头像,蛇年56张高端大气签名头像,快来选一张 《定制指南》 姓氏头像~ 请看公众号主页“个性定制” ·定·制· 壁· 纸· 有偿定制 定制请加小编v:xiaoxin0055https://www.163.com/dy/article/JJMCHG1B053410UP.html
2.名字图片在线制作图怪兽名字图片在线制作专题为您精选名字图片在线制作模板,包含名字图片在线制作的图片素材等可根据您的需求选择,不同图片尺寸进行在线替换文字制作,即可一键生成一张正版可商用模板图片免费下载。https://818ps.com/shejiimg/32427.html
3.照片转字符图,名字文字生成画制作器照片转字符图,名字文字生成画制作器,个性图片转换,可以用自己的名字来表示你的照片,当然也可以用任意字符来表示,本站独家制作_在线做图片http://www.ssbbww.com/h/bi.aspx
4.名字海报图片模板在线设计制作美图设计室-是美图秀秀旗下的智能设计在线协作平台,是一款平面设计工具和在线平面设计软件,提供海量名字海报在线制作,免费名字设计模板,名字海报智能生成,名字图片在线编辑https://www.x-design.com/templates/mingzi.html
5.在线生成印章工具印章在线生成器印章在线制作的好软件,输入你的名字后选择印章样式和印章字体就可生成得到一枚属于你自己的个性印章,有方形圆形、阴刻阳刻、仿古风汉印等样式;字体有印篆、方篆、魏碑、宋体、黑体、金文等,支持输出背景透明PNG图片https://www.gaitubao.com/yinzhang/
6.名字制作的简历设计素材爱心用名字制作的简历图片Fotor懒设计提供免费爱心用名字制作的简历模板、爱心用名字制作的简历设计素材、爱心用名字制作的简历图片,在线编辑爱心用名字制作的简历模板,文字图片背景皆可修改,简单3步在线完成爱心用名字制作的简历设计,并能下载高清爱心用名字制作的简历图片。https://www.fotor.com.cn/templates/tag-aixinyongm-3O4B-1-jianli
7.名字logo设计名字logo设计生成器,在线制作名字logo不用PS怎么制作图片?凡科快图为您提供图片制作教程、在线图片制作方法、图片编辑教程,实用简单,拖拽操作,助您轻松解决如何制作文字图片,如何设计图片等问题。https://kt.fkw.com/news/50257
8.名字贴素材名字贴图片名字贴模板在线制作魔力设图片素材库提供名字贴图片下载和在线设计,包括名字贴图片、名字贴素材、名字贴模板。即可下载PS源文件素材,也可以直接在线编辑制作,无需PS,1分钟快速出图。http://www.51mo.com/search/32445.html
9.连笔姓名设计免费版在线生成真笔网草莓之心99.荼蘼花开100.蝴蝶结云彩101.蝶恋之樱102.迪斯尼美丽103.阿苗笑笑104.佳丽体105.马卡龙106.一笔艺术签107.连笔商务签108.一笔商务签颜色 独具风格的连笔姓名设计免费版在线生成! 请直接输入您的姓名,在线生成连笔签名拥有630像素*420像素的高清晰度,可以下载到自己电脑上多加练习临摹。http://v.zhenbi.com/e/18.htm
10.炫酷名字图片制作专题模板炫酷名字图片制作图片素材下载我图网炫酷名字图片制作专题为您整理了14个原创高质量炫酷名字图片制作图片素材供您在线下载,PSD/JPG/PNG格式炫酷名字图片制作模板下载、高清炫酷名字图片制作图片大全等,下载图片素材就上我图网。https://m.ooopic.com/sousuo/10324786/
11.www.scmc二,免费的性生活视频网站在线观看 ,三级中文字幕AV无码 三,口交一本无码 ,2024澳门今晚开特马 四,五十多的岳?丰满 ,国产最好的高清无码 五,韩国自慰高清免费观看 ,裸体美女跪床光屁屁X软件 六,国产乱伦精品一区二区三区 ,必赢手机版app下载官网 http://www.scmc-xa.com/xxxr37346556/442046.html
12.www.kaineng.cn/glxyx肯德尔在美国航空航天学会举办的科技论坛和展览会上说:“中国和俄罗斯的现代化速度非常快,其速度令我感到惊慌。中国正在以极具战略性、非常投入的方式进行军队现代化。它部署的系统能直接挑战我们的军事能力。”虽然肯德尔认为美中两国将不会爆发一场军事冲突,但他指出,美国必须保住全球头号军事强国的地位,这十分重要https://www.kaineng.cn/glxyx-66.shtml
13.www.tongmentm.com/mokaka72612.html二,肏逼欲死欲仙,小叔喜欢舔bb好舒服 三,黄黄体验区欧美,嗯啊……别插进来……不行了视频播放 四,偷拍韩日换妻大鸡吧,成年美女黄频 五,姬川优夸尻片,以色列帅裸男阴毛多手淫出精视频 六,性巴克美女,女人黄视频在线观看看 七,开发女人母狗 【联系我们】 客服热线:133-2881-646http://www.tongmentm.com/mokaka72612.html
14.www.fchqwh.com/x44I7rPRva/13545123服贸会的朋友们丨外国代表:期待更多交流合作 充分利用服贸会平台 2024年服贸会将于9月12日至9月16日在北京举行,共有85个国家和国际组织确认办展或办会。本届服贸会上,既有第一次参会的新面孔,也有多次参会的老朋友。 尼日利亚是非洲重要的经济体,今年也是第一次参加服贸会,尼日利亚驻华使馆临时代办在接受总http://www.fchqwh.com/x44I7rPRva/13545123
15.点出你的名字明星真人在线制作2010/09/04,展示 66.3万次, 总制作 9.03万次,本周 23次。 84 30 41 严禁制作低俗、反动等违法信息,将自动记录并上报有关部门,违者后果自负。 上方的字 去除本站签名水印? 请先登录;或关注公众号【彩字秀】不带水印哦~ 生成图片重置 评论 您好!本站无需注册,请直接进行留言/评论。 https://www.czxiu.com/cz/yourname.html
16.黑色小字聊天请记住我的名字和我操你的姿势gif动图动态图SOOGIF为您提供黑色gif动态图片,小字聊天请记住我的名字和我操你的姿势动图表情包下载,还有更多关于黑色,小字,聊天,请记住我的名字,和我操你的姿势的动图内容,尽在SOOGIF。https://www.soogif.com/materialPage/0le8ZqWTyy4
17.第二章基本软件的用法和一些软件的了解honeyhuixing7,Q:如何用 photoshop 羽化图片的边缘? A:按以下步骤进行: (1)在 Photoshop 中打开需要制作的图片; (2)按 Ctrl+A 选择图片的全部; (3)点 layers 窗的 new layers 图标,建立一个新层; (4)在 select 菜单下选择 modify 下的 border,在 width 中输入 8pixels; https://www.cnblogs.com/honey_liuxing/articles/other.html
18.www.tmmor.com/moken47579.html二,日本美女打飞机视频在线播放,3a级国家福利视频。 三,毒龙无套内射,日本夜夜操 四,678影视亚洲成网在线播放,黄色性爱爆操淫荡 五,国产伪娘足交榨精,白凝冰黄片 六,草久在线视频,www.7536.com黄色视频 七,亚洲av美利坚合众国 【联系我们】 客服热线:133-2881-646http://www.tmmor.com/moken47579.html
19.如何白手起家创办珠宝生意另一方面,你也可以围绕您的珠宝制作内容,打造整体营销为你自己。 以您的珠宝首饰为中心制作视频或展示人们佩戴它们的场景并将其发布在您的社交媒体频道上供人们观看会很有效。 您身边有成千上万的内容创意。这里只是其中之一。图片来源. 如果你够幸运的话,这些视频中的一个甚至会火起来,并迅速走红,从而为你的生意https://www.ecwid.com/zh-CN/blog/how-to-start-a-jewelry-business.html?q=%2Fhr%2Fblog%2Fhow-to-start-a-jewelry-business.html
20.怎么做?文字拼成一个爱心怎么制作?告白图片制作名字心形图案怎么做?文字拼成一个爱心怎么制作?告白图片制作 昨天说明天就是七夕节了,那么今天呢~就是七夕啦,不过小编家乡那边不把七夕当情人节过的,反而是虚岁十五岁少年的成人礼,可隆重了呢~但是此刻不在老家的小编还是不能免俗的要把今天当成情人节啊,虽然是只单身汪,啊哈哈。为什么要说到今天是情人节呢https://blog.csdn.net/weixin_42307478/article/details/115340900
21.心理降教案15篇五、制作坚持协议书(准备纸) 1、自己制作一份“坚持协议书”。 2、同桌互相交换,检查一下是否设计的完整,你就是他的见证人,在见证人一栏签上你的名字。 3、回家之后,结合成功岛的作业,认真完成。 六、学具、教具和教学媒体的使用 1.通过使用多媒体教学观看奥运图片,通过挂图观察图画,让学生感受坚持的重要性,体https://www.fwsir.com/jiaoan/html/jiaoan_20230214183814_2386458.html
22.名字艺术设计模板图片模板名字艺术设计模板图片设计制作稿定为您提供名字艺术设计模板图片相关设计模板素材资源,选择喜欢的名字艺术设计模板图片模板资源,通过简单替换修改操作即可快速制作出自己中意的设计作品。无论您是想制作易拉宝、海报、传单、名片或其他宣传营销物料,都能在稿定上找到合适的解决方案。更多关于名字艺术https://www.gaoding.com/contents/mbtp143990
23.看这一篇就够了!科教文体烟台新闻网胶东在线国家批准的活动内容:“智能魔镜”是“烟台文旅云”平台推出的一项虚拟实景体验应用,以烟台特色文旅资源为主题,构建了烟台文旅地标场景资源库,用户点击“开启魔镜”,选择库中的图片或视频,插入自己的自拍图片,即可轻松制作出具有烟台特色和代入感的个性化魔镜照片,实现“足不出户,云游仙境”,还可以即时发送给家人朋友。 https://www.jiaodong.net/news/system/2021/10/01/014225157.shtml
24.姓氏微信头像设计真人名字男生女生照片制作立体高端商务渐变彩色微信头像右上角加1超简单 在线制作微信强迫症头像(无需任何制图软件) 有意境的微信头像风景大全 好看有气质的微信风景头像分享!-猴子技术 罕见好看的动漫女生头像,又萌又可爱的微信头像 2022最好看的帅气男生头像图片 清纯男生真人高清微信头像大全_男生头 http://touxiang.yiyuen.com/touxiang/item/c62bda864105a67362bccc6881ef94de
25.银符考试题库在线练习B.地址或名字 C.位置 D.内容的值 A B C D 48. 在Excel 2003工作表中,单元格C4中有公式“=A3+$C$5”,在第3行之前插入一行之后,单元格C5中的84. 在Excel 2003中,使用“图表向导”制作统计图表的四个步骤中,最后一步是 。 A.指定图表数据源 B.确定图表位置 C.设置图表选项 D.选择图表类型 A http://www.cquc.net:8089/YFB12/examTab_getExam.action?su_Id=5&ex_Id=4790
26.抽奖活动方案15篇飞镖制作成飞机的模样,没人的号码用黄色标签做成云朵模样黏贴在背景板上,年会背景板缓缓移动,扎中的名字得奖寓意"飞黄腾达"。 6、摇奖机摇奖 摇奖机使箱内号码球转动,电控模块按照时间设置定时开启出球阀,依次选出规定数量的摇奖球,摇奖结束后电源自动关闭。使用选号机开奖,是当今世界公认最公平公正的方式,该设备全https://www.oh100.com/a/202305/6727586.html
27.《水浒传》108位好汉的名字和绰号怎么用思维导图绘制通过“思维导图简单画法”我们了解到思维导图的制作方式(通过中心主题延伸绘制内容)。也就是在制作水浒传108位好汉的名称和绰号绘制思维导图时我们先将主题展现出来,然后再插入下级节点并填充相应的内容(108位好汉的名称和绰号)。 注:水浒传108位好汉的名字和绰号在思维导图中内容较多,会导致图片截取的过长,因此用https://www.liuchengtu.com/tutorial/shuihuhaohan.html
28.宠物生成器:在线宠物起名与合成,随机生成创意宠物名字及设计制作在这个数字时代,宠物已成为许多人生活中必不可少的伴侣。为了给这些小生命带来更多乐趣和个性,一款名为“宠物生成器”的在线工具应运而生。它不仅可以帮助宠物主人随机生成创意宠物名字,还可以设计和制作独特的宠物图像。这是对这个神奇工具的详细介绍。 在忙碌的现代生活中,宠物给我们的心灵带来无尽的安慰。每只宠物http://www.yecyd.com/detail/106523.html
29.淘宝活动方案(精选18篇)六、图片制作: 首页俩张宣传大图: 1、宣传教师节盖楼图片,要求:活动内容详细,图片底色最好有本店商品,连接到盖楼的活动页面。 2、俩款单品特价:玫瑰花199包邮,南瓜小花瓶特价8折包邮。预期效果:增加店铺人气和收藏量 淘宝活动方案 10 一、活动的目的 https://www.unjs.com/huodongfangan/202211/6014480.html
30.名字印章在线生成器免费名字印章生成器名字印章在线生成器免费【名字印章生成器】 神奇印章制作软件是一款简单而又实用的印章生成器,支持各种印章效果制作,提供多种对象元素,包括文字、图片、图形、圆弧文字等,可以任意使用、任意设计、简单易用、快速灵活,从而轻松快速设计出专业的印章。软件还支持导入Excel文件、Access文件、SQLite文件等多种数据库,具有方便https://www.shejilogo.com/article/design/1470.html