为啥 Android studio 开发的 hello world 程序都可以占用内存 100MB?

2021-12-07 11:05:01 +08:00
 weixiansen574
请问为啥?我也只是直接创建了一个 HelloWorld 项目,没有加任何代码进去,直接打包放到手机里运行就占用运行内存 100MB ? HelloWorld 程序的安装包就 2MB 大小了,人家 via 浏览器都不超过 2MB ,我一个 HelloWorld 就比人家浏览器大了!怪事,难道 Android studio 加了什么奇怪的东西进去吗?
13318 次点击
所在节点    Android
30 条回复
461da73c
2021-12-07 11:09:15 +08:00
JAVA 不就这个德行吗?
misdake
2021-12-07 11:11:40 +08:00
安装包里面可以看看体积分析,根据我 n 年前做 android 的印象可能是带了 support 库或者是图标图片等太大。
HongJay
2021-12-07 11:12:38 +08:00
别人那叫优化。你那叫初学
NathanDo
2021-12-07 11:14:21 +08:00
你到底是比内存占用还是安装包呢,via 也就一个 webview 安装包小有什么稀奇的
lloovve
2021-12-07 11:17:21 +08:00
Android 8g 内存和 ios 2g 内存一个等级
mxT52CRuqR6o5
2021-12-07 11:26:17 +08:00
我把 via 清空数据,初次运行,内存占用 125MB
AoEiuV020CN
2021-12-07 12:05:04 +08:00
主要是兼容,compat ,安卓为了兼容各种版本,单纯一个默认主题就依赖了一个 androidx 库,
现在的 activity 都是 AppCompatActivity ,放弃兼容删除依赖还是可以写出几十 kb 的 app 的,
winterbells
2021-12-07 12:18:23 +08:00
apk 直接拖到 Android Studio 窗口看大小
另外 gradle 里把压缩混淆也打开
missdeer
2021-12-07 12:21:15 +08:00
兵马未动,粮草先行。
WebKit
2021-12-07 12:45:57 +08:00
直接运行的是 debug 肯定比 release 大,debug 包还有各种 test 的依赖。
Mrshe
2021-12-07 13:55:52 +08:00
via 裁剪了很多东西,hello world 里面你又没优化
zongren
2021-12-07 13:59:31 +08:00
不是 java 虚拟机的锅吗
lakehylia
2021-12-07 14:12:20 +08:00
你这是新手教程,新手还会优化?
crayygy
2021-12-07 15:47:40 +08:00
1. debug 包比 release 要大很多,先设置成 release 看看,一般不会很大
2. 创建默认项目的时候会带一堆 support library 的依赖,这些依赖也不少,gradle 里面删一下,重新编译一下看看
3. 图片应该不会很多,自带的都是矢量图,不应该很大,所以这块可以不用看了
huruwo
2021-12-07 15:52:31 +08:00
via 各种极限优化 而且尽量不用整体的第三方库
youxiachai
2021-12-07 18:00:48 +08:00
有点迷? 第一次搞客户端开发? 为啥会问这种问题
sankemao
2021-12-07 19:36:02 +08:00
把各种用不到的依赖去掉,可以压缩到十多 k
kwanzaa
2021-12-07 20:57:32 +08:00
还没 release 带着一堆 debug 分析工具。 运行时也没优化。这么大不奇怪。
fox0001
2021-12-07 22:45:12 +08:00
不要跟 via 比,真的
fan123199
2021-12-08 07:44:58 +08:00
楼主应该更好奇内存占用,不是安装包大小。其实涉及到图形的运用内存占用都会大很多。看似只是 Hello World 没有提示有各种渲染的对象。Android 机制是会分配一个内存空间给你,默认最大是 128M ,不超过就使劲用。 另外,不太清除是不是一些共享内存都计算在内。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/820554

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX