文章目录 一、Dex 打包设置 1、多 Dex 支持 2、Dex 分包设置 3、开发和产品风格设置 ( 非必须 ) 二、完整 build.gradle 配置 1、build.gradle 配置 2、...dex.keep 配置 二、 源码资源 一、Dex 打包设置 ---- 在 【Android 热修复】热修复原理 ( 类加载机制 | PathClassLoader 加载 Dex 机制 | PathDexList..., 分包会自动根据大小分为若干分包 ; 1、多 Dex 支持 首先 , 在 build.gradle 中配置 implementation 'com.android.support:multidex:...1.0.2' 依赖 , 在 android / defaultConfig 层级配置支持多 Dex 设置 multiDexEnabled true , 在 android / buildTypes.../ release 层级配置支持多 Dex 设置 multiDexEnabled true , android { defaultConfig { multiDexEnabled
原来 Android 8.0(API 级别 26)引入了自适应启动器图标,可以在不同设备模型中显示各种形状。下面看下官方酷炫动态图: ? ? 图1. 自适应图标支持各种设备之间不同的掩码。...在 Android 7.1(API级别25)及更早版本中,启动器图标大小为 48 x 48 dp。必须使用以下准则来调整图标图层的大小: 两层的尺寸必须为 108 x 108 dp。...自适应图标支持各种视觉效果。 注意: 如果您没有使用必要的图层更新启动器图标,则该图标与系统 UI 显示的其他图标看起来不一致,并且不支持视觉效果。...和 ic_launcher_foreground.png,和也支持@color/资源名。...adaptive-icon> 然后清单使用android:icon 属性以指定可绘制资源,还可以使用该android:roundIcon 属性定义图标可绘制资源。
只支持部分屏幕密度 Android支持很多设备集,其中包含了各种不同的屏幕密度。...尽管Android支持所有这些屏幕密度,但你不需要为每个密度都配置相应的资源。 如果你知道某种特定屏幕密度已经很少有用户使用了,那么你可以考虑是否需要为这个屏幕密度配置资源。...减少动画帧数 使用帧动画会大大增加APK的大小。图1显示了目录中构成帧动画的多个PNG文件。每个图片都是动画的一帧。 对于加入动画的每帧,你都增加了APK中图片的个数。...第一,低于Android 3.2的版本不支持WebP,第二,WebP的解码时间比PNG长。 注意:Google Play的APK的应用启动图标只能使用PNG格式,而不支持其他格式。...使用向量图 你能使用向量图去创建一个分辨率无关的图标。使用向量图能够显著减少APK大小。在Android中向量图是以VectorDrawable对象形式存在的。
Android应用的大小对用户体验和应用性能至关重要。大型APK文件会增加应用的安装时间,启动时间和页面加载时间,降低了用户体验。因此,APK瘦身是Android开发中的重要任务。...资源优化:使用向量图标代替位图图标,减小图标资源的大小。同时,删除未使用的资源文件。 清理无用资源 应用中可能包含许多无用的资源文件,例如未使用的图像、布局文件、字符串等。...资源分析工具:使用资源分析工具,如AndroGuard来识别未使用的资源文件。 分包和动态交付 Android应用支持分包和动态交付功能,这意味着应用可以根据需要下载额外的功能模块。...资源替代和密度限制 Android允许应用为不同的屏幕密度和配置提供不同的资源文件。只加载所需的资源文件可以减小APK文件的大小。...资源文件限定符:使用资源文件限定符(如hdpi、xhdpi、sw600dp等)来为不同的设备提供适当的资源。 矢量图标:使用矢量图标代替位图图标,它们可以无损缩放,适应不同的屏幕密度。
Android O 还引入了通知角标,当一个应用的通知没有 dismiss 的时候,会在应用的图标上面显示一个角标,长摁这个应用的图标,也会显示通知的详情信息: O 版本弃用了对单个通知设置优先级的功能...1.3 自适应图标 为了帮助开发者更好的与设备 UI 集成,Android O 支持创建自适应图标,系统可以基于设备选择的蒙版将这些图标显示为不同形状。...: 在以前的 Android 版本中,图标大小定义为 48 x 48 dp,但是现在必须按照以下的规范定义图层大小: 两张图层大小都必须为 108 x 108 dp。...1.7 TextView 字体自动适配 Android O 版本允许设置 TextView 的字体大小根据设置的初始大小自动放大或者缩小,这样就可以让字体的显示在不同的屏幕和不同的显示内容上达到最优的效果...; 多屏幕支持,支持设备外接一个显示器; 最新版本 emoji 支持,使用 EmojiCompat 类可以让应用在老版本的应用上显示新的 emoji; 支持点击位置的捕捉; 支持设置应用类别,这些类别用于将应用呈现给用户的用途或功能相同的应用归类在一起
Android O 还引入了通知角标,当一个应用的通知没有 dismiss 的时候,会在应用的图标上面显示一个角标,长摁这个应用的图标,也会显示通知的详情信息: [1506563471382_2377_...1.3 自适应图标 为了帮助开发者更好的与设备 UI 集成,Android O 支持创建自适应图标,系统可以基于设备选择的蒙版将这些图标显示为不同形状。...(前景和背景)来指定桌面图标外观,必须提供没有形状和阴影的 PNG 格式图象作为图层: [image.gif] 在以前的 Android 版本中,图标大小定义为 48 x 48 dp,但是现在必须按照以下的规范定义图层大小...1.7 TextView 字体自动适配 Android O 版本允许设置 TextView 的字体大小根据设置的初始大小自动放大或者缩小,这样就可以让字体的显示在不同的屏幕和不同的显示内容上达到最优的效果...可以设置 Activity 支持广色域; 2. 可以设置最大的屏幕宽高比; 3. 多屏幕支持,支持设备外接一个显示器; 4.
支持每种密度的 位图可绘制对象的相对大小 适配方案 密度独立性 应用显示在密度不同的屏幕上时,如果它保持用户界面元素的物理尺寸(从 用户的视角),便可实现“密度独立性” 。...Android 系统可帮助您的应用以两种方式实现密度独立性: 系统根据当前屏幕密度扩展 dp 单位数 系统在必要时可根据当前屏幕密度将可绘制对象资源扩展到适当的大小 nodpi:它可用于您不希望缩放以匹配设备密度的位图资源...可用的宽度也是 确定是否对手机使用单窗格布局或是对平板电脑使用多窗格布局的关键因素。因此,您可能最关注每部 设备上的最小可能宽度。...虽然 Android 也支持低像素密度 (LDPI) 的屏幕,但无需为此费神,系统会自动将 HDPI 尺寸的图标缩小到 1/2 进行匹配。...建议以高分辨率作为设计大小,然后按照倍数对应缩小到小分辨率的图片。 一般情况下,我们只需要提供3套切图资源就可以满足安卓工程师的适配,分别是 HDPI、XHDPI、 XXHDPI 3套切图资源。
Android 8.0 (API 26)引入了自适应图标,可以在不同的设备上显示不同形状的图标。...通过这三个图层决定了自适应图标的外观和形状 需要注意的是,提供的图层是没有形状、阴影的 PNG 格式图象 设计规则 在 Android 7.1 (API 级别 25)及更早的版本中,app 的启动图标大小为...首先你需要你的应用的 AndroidManifest.xml 中为 android:icon 属性并指定一个 Drawable 资源。...接下来需要在资源文件及中创建我们的自适应图标,在 Android 8.0 中自适应图标存在于 res/mipmap-anydpi/ 文件夹下,使用 元素为你的图标定义前景和背景图层... 和 分别为前景图层和背景图层,支持 android:drawable 属性。 ?
自适应图标 Android 系统上到底改采用异形图标还是规则图标?在这个问题上,不同的 OEM 厂商和用户都有自己的选择偏好。...APP图标角标:安卓8.0原生支持了应用角标功能,不过并非数字,而是随着图标颜色自适应的纯色圆形图案。...自适应 TextView、统一布局边距:Android 8.0 允许开发者根据 TextView 的大小自动设置文本展开或收缩的大小,对开发者而言,在不同屏幕上优化文本大小或者优化包含动态内容的文本大小要比以往简单多了...更丰富的色彩管理功能:应用开发者只需为应用嵌入广色域配置文件,即可在支持广色域色彩显示的新设备上开启广色域显示模式。 多显示器支持:Android 8.0 将提供更好的原生多显示器支持。...如果某个应用或活动(Activity) 支持多窗口模式,并且可以在具有多个显示器的设备上运行(例如 Samsung DeX),那么用户可以在两个显示设备间自由操作和移动窗口内容。
使用矢量图片之后,它能够有效的减少应用中图片所占用的大小,矢量图形在 Android 中表示为 VectorDrawable 对象。...2)、图标以 .ttf 字体文件的形式存在项目中,而 .ttf 文件一般放在 assets 文件夹下,它的体积很小,可以减小 APK 的体积。 3)、一套图标资源可以在不同平台使用且资源维护方便。...3)、只能支持单色,不支持渐变色图标。 如果你想要使用 iconfont,可以在阿里的 iconfont 上寻找资源。...但是,只有 Android 4.2.1+ 才支持显示含透明度的 WebP,此外,它的 兼容性不好,并且不便于预览,需使用浏览器打开。...5)、若某些图在真机中有异常,则用多套图。 6)、若遇到奇葩机型,则针对性补图。 然后,我们来讲解下资源如何进行混淆。
大尺寸小图标在部分机型上显示不正确 问题详情 这个问题主要在部分机型的4.X系统上遇见,小图标大小没有按照24dp裁剪,而是采用了桌面图标一样的大小96dp。...解决方案 按照标准来,小图标大小为24dp,大图标为桌面icon图标大小96dp。具体可参考这里^14 部分机型不支持Style 具体机型见下图以及后面统计的表格。...使用这种方式自定义的布局,会存在与原生的通知栏消息样式不一致的可能,包括小图标/大图标的大小,字体的大小与颜色,时间的显示方式(不同版本的时间显示位置和样式都不一样)。...至于4.4以下版本,可以把常用的Emoji表情放到资源文件中,遇到文本中包含Emoji字符时,手动替换成资源文件中的Emoji图片,再通过上述RemoteViews方式来显示。...通俗点来讲,就是让我们的通知栏图标不要带颜色就可以了^13。这也是上面的截图中为什么这么多应用都显示不出icon图标,而是显示成灰色的正方形。原因就是他们用了带背景的图片。
3.资源管理 资源管理器包含以下更新: 资源管理器现在支持大多数资源类型。 搜索资源时,资源管理器现在将显示所有项目模块的结果(以前,搜索仅从所选模块返回结果)。...筛选器按钮可以查看来自本地依赖模块,外部库和 Android - 框架的资源也可以使用过滤器显示主题属性。 可以在导入过程中通过在资源上方的文本框中单击来重命名资源。...多显示器支持 3.6.1 新的更新中移除了多重预览功能已删除,4.0 版本才正式开放。...Android模拟器现在允许将应用程序部署到支持可自定义尺寸的多个显示器,并可以帮助测试支持多窗口和多显示器的应用程序 。...4.增加字体大小。 5.在Settings窗口中,导航至 Editor > Font。 6.增加字体大小。 7.单击确定。
它会针对您的应用支持的每种像素密度以适当的分辨率生成一组图标。Image Asset Studio 会将新生成的图标放置在项目中 res/ 目录下的特定于密度的文件夹中。...在运行时,Android 将根据运行应用的设备的屏幕密度来使用适当的资源。...该字段中会显示新值。 Resize - 使用滑块指定缩放系数(以百分比表示)以调整 Image、Clip Art 或 Text 图标的大小。指定 Color 资源类型时,会为背景图层停用此控件。...4、通知图标 通知是您可以在应用的正常界面之外向用户显示的消息。...如果您的应用支持 Android 2.3 到 2.3.7(API 级别 9 到 10),Image Asset Studio 会生成灰色版本的图标。
图片压缩 对于资源文件的优化,其实占大头的还是图片。Android打包本身会对png进行无损压缩,在不那么影响图片显示效果的情况下,对图片进行有损压缩对apk体积的减小还是非常可观的。...矢量图和分辨率无关,理论上支持任何级别的缩放。以一张常用的 点赞 图标为例,在 Android中使用 Vector 矢量图,大小为: ? 而它对应的xxxhdpi的png格式,大小为: ?...="180" /> 虽然Android设备的分辨率非常的多,但这并不代表着我们需要为每一种分辨率都准备一套资源。...在显示差异不大的情况下,我们可以尽量复用一套图片资源,一套布局,然后再考虑特定屏幕密度。 语言资源 说完了图片,我们还要来说说语言资源。对于大多数的应用,并不需要支持几十种的国际化。...例如,我们的应用如果只需要支持中文和英语: android { defaultConfig { ...
(true); -> 缩放至屏幕大小 webSettings.setSupportZoom(true); -> 是否支持缩放 webSettings.setBuiltInZoomControls(true...onLoadResource():页面每次加载资源时调用。...onScaleChanged():页面的缩放比例发生变化时调用,这时候可以根据当前的缩放比例来重新调整WebView中显示的内容,如修改字体大小、图片大小等。...onReceivedIcon():接收Web页面的图标,可以通过该方法把图标设置在原生的控件上,如Toolbar等。...例如html中想要回调这个方法可以这样写:javascript:android.getClient(“传一个字符串给客户端”); onDestroy activity销毁时释放webView资源。
这功能允许用户自定义窗口大小,可以让用户把视频窗口固定在屏幕角落,同时运行其他APP, 达到多屏显示效果。...通知圆点功能 类似 iOS 的通知角标,但不会显示具体通知数量,只会在图标右上角显示一个圆点。 当出现通知圆点时,长按应用程序图标,就会以类似气泡的形式快速预览。...而在通知中心中删除这些未读通知,应用图标上的标记点也会消失。 测试目的 通知圆点能否正常显示 测试条件 设置-应用和通知-通知-允许使用通知圆点 测试结果 ?...后台进程限制 安卓系统越用越卡、电池寿命的问题一直是用户使用的痛点,谷歌表示一直在优化安卓Android的后台应用限制策略,以最大程度减小后台应用对电池的消耗和对资源的占用。...其它内容未进行实践测试 其他新功能特性如Pinned Shortcuts功能(长按应用图标可弹出子菜单)、智能文本选择、设置界面精简、通知支持自定义提醒的时间间隔、动态亮屏、Unicode10标准的Emoji
为了帮助开发者更好的与设备 UI 集成,Android O 支持创建自适应图标,系统可以基于设备选择的蒙版将这些图标显示为不同形状。...系统还将实现与图标的自动交互,并在启动器、快捷方式、设置、共享对话框以及概览屏幕中使用它们。 ? △ Android O 支持创建自适应图标图示 ?...开发指南 1> 自适应图标支持多种形状 通过定义两张图层(前景与背景)你可以制定你的桌面图标外观,你必须提供没有形状和阴影的 PNG 格式图象作为图层。 ?...△ 多形状桌面图标外观图示 2> 自适应图标由两张图层和一个形状来定义 在以前的 Android 版本中,图标大小定义为 48 x 48 dp。...Pinning shortcuts 在桌面上可呈现不同的图标显示。 ?
也就是说无论在pad下还是大小屏手机下,我们实际看到的该控件的大小是差不多的: 资源目录名。上图可见虽然使用dp确保了控件在不同屏幕中的绝对大小一致。...像素是最小的独立显示单位,px均为整数,不会出现0.5px的情况。 in : 英寸,是屏幕的物理尺寸,手机屏幕大小如1.6英寸、1.9英寸、2.2英寸,都是指的对角线的长度。...需要根据dpi值准备5套图片资源,drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi Android有个自动匹配机制去选择对应的布局和图片资源...2、切图方面: 长宽最好是3的倍数(根据android的推荐logo图标的大小是48(mdpi),72(hdpi),96(xhdpi)得出的最小公约数)。 长宽最好是偶数。...的屏幕上显示的实际大小才一样。
Android O 还新增了以下方法来支持 PIP。...为了帮助开发者更好的与设备 UI 集成,Android O 支持创建自适应图标,系统可以基于设备选择的蒙版将这些图标显示为不同形状。...[1492086867614_7244_1492086868932.gif] △ Android O 支持创建自适应图标图示 开发指南 1> 自适应图标支持多种形状 通过定义两张图层(前景与背景...[1492086982488_6769_1492086983085.gif] △ 多形状桌面图标外观图示 2> 自适应图标由两张图层和一个形状来定义 在以前的 Android 版本中,图标大小定义为...Pinning shortcuts 在桌面上可呈现不同的图标显示。
领取专属 10元无门槛券
手把手带您无忧上云