---
title: "为什么 ASTC压缩打出的APK包体 大于采用ETC2压缩打出的APK"
author: "石心.Yong"
published_by: "Perrin Yong"
canonical: https://www.pystone.net/notes/uwa-answer-astc-apk-larger-than-etc2/
type: note
content_role: source
source_type: "source"
visibility: public
id_stability: rename-stable
source_path: "10-计算机、信息技术与工程/05-游戏图形与运行时/我的UWA问答/2021-03-24 - 为什么 ASTC压缩打出的APK包体 大于采用ETC2压缩打出的APK.md"
content_hash: 584af3fb938126ec9f4a1b7c8a73ea1744d469c8af8069d77a4f146d7429850d
knowledge_version: 224c990773de.5fa8af6e39fa
site_commit: 224c990773de166d23a886306577dd90379529ce
notes_commit: 5fa8af6e39fa3891d1b9b4832bfa6c4e0ecaaf0a
---
# 为什么 ASTC压缩打出的APK包体 大于采用ETC2压缩打出的APK

> **note · 我的 UWA 问答**
> 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者；回答保留当时语境，技术结论可能受 Unity 版本、平台和项目条件限制。

## 问题

在一个空工程里面 我放了几张大图 2048*2048的

我采用ETC2 4压缩的时候 单张大小为2M

我采用ASTC 6X6压缩的时候 单张大小是1.8M

按照我的理解 采用ASTC压缩格式 打出的APK应该更小才对 可是事实和我预想的相反

采用ETC2压缩打出的apk为21.1M

采用ASTC压缩打出的apk为25.7M

为什么采用ETC2压缩的包体反而更小呢 ASTC打出的APK更大呢

- 提问者：肖先生
- 提问时间：2021-03-24 01:13:46

## 我的回答

占用包体的大小和在Editor下的preview界面看到的大小是两回事。

preview界面看到的大小是ASTC或者ETC2格式的资源的大小，而打包后，会对资源进行进一步的压缩（LZ4或LZMA）。只能说明ETC2压缩成LZ4后占用的包体大小确实比ASTC压缩成LZ4后占用的大小更小，至于原因就要看具体压缩算法的实现了吧。

可以用AssetBundle来验证，如果打AB包时选择NoCompression，那么确实ASTC格式的比ETC2格式的AB包更小。 如果选择LZ4或LZMA压缩，那么ETC2格式的AB包比ASTC格式的AB包要小。

- 回答时间：2021-03-24 03:20:47
- 最后更新：2021-03-24 03:20:47
- 采纳状态：未采纳

## 来源与关系

- 上位集合：[我的 UWA 问答](https://www.pystone.net/notes/my-uwa-answers/)
- UWA 标签：资源管理
- 原始问题：[为什么 ASTC压缩打出的APK包体 大于采用ETC2压缩打出的APK](https://answer.uwa4d.com/question/6059b14acfa35d5b53669bdd)
- 源页最后更新：2021-03-24 03:20:47
