为什么有些 app 体积安装包这么少 0.6m, 1m?

为什么有些 app 体积安装包 这么少, 0.6m, 1m, 我原生打包个 hello world 也 3m , 那是怎么做到的?

补充: 我说少于 1m 的 app, 例如,某 X 浏览器

18 条回复    2021-01-12 15:18:57 +08:00
manami
    1

manami   89 天前

emm 套壳浏览器……
codehz
    2

codehz   89 天前   ❤️ 1

很简单,不要引用奇怪的库,包括 as 生成项目时自带的那些
en20
    3

en20   89 天前

一个是因为本身没多少代码,还有 apk 可以直接打包对应平台 android-arm,android-arm64,android-x64,一个 fat apk 17.9MB,拆分后只有 6.4MB
howellz
    4

howellz   89 天前

@en20 hello world 有啥 native 的包和库?
divilkcvf
    5

divilkcvf   89 天前

appcompat 这种乱七八糟的兼容库全都去掉
joyhub2140
    6

joyhub2140   89 天前   ❤️ 1

生产环境包为了混淆代码会对代码压缩的,你应该打的是 debug 用途的包吧。

另外,正如楼上所说,去掉乱七八糟的库,只用*基本的 activity,layout 里只有一个 LinearLayout,肯定可以降到 1M 以下。

那个 x 浏览器,也就套个系统自带的 webview 而已,内核不是重新开发的。

nicocho
    7

nicocho   89 天前

我看拼 DD 的 android 包只有 30 多 M,
应该不是网络 down 对应的 so 之类的,因为安装完就是上百 M 了。
压缩效率高?有空深入研究研究去。
jinhan13789991
    8

jinhan13789991   89 天前

去掉乱七八糟的库,只能运行的话,其实只要上百 KB 就够了。
很多 app 依赖内容都是*次启动后下载加载的。这样安装包体积就能小很多了
Kamiyu0087
    9

Kamiyu0087   88 天前

原生 Hello World 会引用 material 相关库吧,这就不小了已经
love
    10

love   88 天前

我给我的 WebApp 写了个*简单只有一个 webview 控件的 apk,没任何别的第三方组件,用官方工具套件编译出来也要 2.3M
android 开发我不熟,可能有办法去掉所有可选的东西?
winterbells
    11

winterbells   88 天前 via Android

打 release 包
john6lq
    12

john6lq   88 天前 via iPhone

@divilkcvf 先做再说。helloworld 现在 AndroidX 我*低也就只能优化到 700k 左右。
john6lq
    13

john6lq   88 天前 via iPhone

谷歌瞎 jb 维护,flutter 一个包直接搞定。
maokabc
    14

maokabc   88 天前 via Android

现在不清楚,以前试过,没兼容库,创建 apk 自己写 shell 命令,javac 编译成 class,dx 生成 classes.dex,aapt 处理资源,然后用 zip 打包再签名,app 写完也才 290 多 k 。
iriyave
    15

iriyave   88 天前 via Android

因为华为手机的文件管理器没有 ftp 功能,前几天下了个 ftp 服务器的 app,能在电脑端操作文件,大小只有 0.4M 。
coolesting
    16

coolesting   88 天前 via Android

@iriyave 有一个记事本的 App,安装完才 200 多 K 。。。。
HangoX
    17

HangoX   88 天前

不用 support 兼容包,只要自己代码,混淆深一点,接入 andRes
Rekkles
    18

Rekkles   88 天前

%title插图%num 十年前的 Symbian S40 可是连大于 1M 的软件都跑不起来

有没有支持 webhook 的闹钟 App?

*近家附近的高速总封,想每天起床前轮询高速路况,自动设置闹钟。

9 条回复    2021-01-20 11:03:05 +08:00
haython
    1

haython   80 天前

谁去轮询? app 不太现实,肯定是服务端了,如果有服务端,轮询之后,定时打电话更方便一些吧
whispercero
    2

whispercero   80 天前

@haython 定时打电话 需要外拨 API 但是我没有企业资质。。。
zpfhbyx
    3

zpfhbyx   80 天前

%title插图%num ios 的话 可以用 brak..推送铃声。。当定时。
Maboroshii
    4

Maboroshii   80 天前

server 酱啊,用公众号推到微信吧
dingdangnao
    5

dingdangnao   80 天前

换个思路,用备忘录 日历之类的? tasker 可以么?
580a388da131
    6

580a388da131   80 天前

为什么不在门口和方向盘上贴个便签提醒自己查询路况?
azoon
    7

azoon   80 天前

我苹果用快捷指令,定时自动化,指定上下班时间,使用百度地图 API 查路况,然后弹出通知。
安卓应该可以用 tasker 吧,没了解过,但是看过文章,功能挺强大。
whispercero
    8

whispercero   80 天前

@dingdangnao 就是这种 老哥牛逼
dingwen07
    9

dingwen07   79 天前 via Android

Telegram Bot

安卓有类似IOS的垃圾短信静默处理 app 吗?

忘记苹果 IOS 哪个版本了,好多垃圾短信 系统自动给我 归类到垃圾短信。平时完全感知不到 有垃圾短信的到来。而且苹果很少会将重要的通知类短信归类垃圾短信去。

自从搞了台安卓,电信,股票等各种垃圾每天定时发生过来,安卓都会响起提醒。我给安卓机的短信添加了一些关键词,但是过一段时间,这些关键词改了,又失效了。

所以安卓有类似苹果的垃圾短信处理 app 吗?

14 条回复    2021-01-22 10:23:29 +08:00
ldlywt
    1

ldlywt   79 天前   ❤️ 1

通知盒子 可以试下
juded
    2

juded   79 天前

这个国产 rom 基本标配,至于提醒,设置为拦截时不提示就好了。
原生安卓就要折腾了。
tnjin
    3

tnjin   79 天前

小米手机自带的应该可以满足你的需求了吧,也是自动归类
draguo
    4

draguo   79 天前

miui 自带的就挺好的,唯一问题会把一些可以薅羊毛的短信也给屏蔽了
saltxy
    5

saltxy   79 天前

有没有类似 MIUI 的短信拦截 app,之前下了个 app 时不时的吞短信,找不回来那种,把我整怕了
job
    6

job   79 天前

大多数情况下,系统自己就给屏蔽了,不会提示用户的;垃圾短信骚扰电话这部分,国内的 android 要强于 ios ;
azkaban
    7

azkaban   79 天前

用的 MIUI,我以为安卓每家都有这功能呢,感觉是基础标配啊
zxcslove
    8

zxcslove   79 天前

MIUI+1,感觉天经地义了,没注意过
Infinite2K
    9

Infinite2K   79 天前

我想了想………一加短信直接系统自动屏蔽了,各种优惠折扣信息,垃圾信息都直接拦截了,想看的话也可以自己去看,通知类短信验证码类你觉得正经的短信不会

我认为国内安卓厂商只要不是很小众的厂商,这个问题都可以搞定的吧……系统能搞定的为什么要安装 app 搞定

相比较短信,电话才是真的恶心,现在只是标记为骚然推销,但是不会自动禁止,需要你这边挂掉以后设置封禁,迷惑的是我这个手机号*近一个月甚至半年的时间都没怎么用,我实在想不明白哪个混蛋泄露了我的手机号,或者早几年的现在才倒卖出去广告推销的,*近两天一天 5 个以上,着实恶心,也有可能是*近经常隔三岔五打电话升级办业务的联通倒手的………

little_cup
    10

little_cup   79 天前   ❤️ 1

如 1 楼所说,欢迎试试我写的通知滤盒 https://play.google.com/store/apps/details?id=com.catchingnow.np
其实过滤 95% 的垃圾短信只需要 td 退订 t 退 之类的几个关键字就好了。
weixiangzhe
    11

weixiangzhe   79 天前 via Android

@little_cup 千万不能回 td,现在大家的短信服务商都是通用的,退订了 app a 回导致某些 app 甚至。收不到验证码
little_cup
    12

little_cup   79 天前

@weixiangzhe 没有回啊,只是用这几个关键字识别营销短信而已。
weixiangzhe
    13

weixiangzhe   79 天前 via Android

@little_cup 看错啦 不过现在有的短信退订文案乱七八糟的 比如招行的是 #A ?
Kamiyu0087
    14

Kamiyu0087   77 天前

国产 ROM 标配功能吧应该
我 Mate 系手机用了三四年,各种营销垃圾短信很少收到的

在APP中,如何通过Intent实现页面的跳转

不管是在APP,还是在网站中,页面之间的跳转都是很常见的,本文主要讲一下在APP中,如何通过Intent实现页面的跳转。

 

不带参数:

写在MainActivity页面的代码:

1 Intent intent = new Intent();
2 intent.setClass(MainActivity.this, LoginActivity.class);//从MainActivity页面跳转至LoginActivity页面
3 this.startActivity(intent);

 

带参数:

写在SpendingActivity页面的代码:

1 Intent intent=new Intent(SpendingActivity.this,ExpenseProcesActivity.class);//从SpendingActivity页面跳转至ExpenseProcesActivity页面
2 intent.putExtra("strType", 0);//参数:name、value
3 SpendingActivity.this.startActivity(intent);

 

写在ExpenseProcesActivity接收页面的代码:

1 private int type = 0;
2 
3 //接收传递过来的参数
4 final Intent intent = getIntent();
5 type = intent.getIntExtra("strType", 0);

 

备注:

可传递的参数有多种类型,在接收参数的时候,也要根据传入类型,选用对应的接收函数

传递参数的类型,Eg:

%title插图%num

对应的接收函数,Eg:

%title插图%num

%title插图%num