一文带你搞懂APK安装过程
一、背景
最近在了解插件化技术:把未安装的插件apk 集成到 宿主App中,以取得减少宿主APK包体积等优点。也就是说,一个完整的APK 虽然不经过安装过程,但使用了插件化技术后却可以在宿主中使用其功能。
那么对应的,一个APK的完整安装过程是怎样的呢?用户通常能体验到的安装过程有两种:
在手机厂商的应用市场中 选择目标App自动安装;
先下载APK,然后是安装过程,过程中没有跳转到其他页面,可以说是一键安装。
浏览器、QQ、抖音等 应用里面下载的APK包,点击后用户确认安装:
这种通常是用户下载一个APK文件,然后手动点击,跳转到安装页面,提示这个APK的下载信息等,然后是安装包详情页面,展示 版本号、所需权限 等一些信息,最后是安装中的页面。我使用的是小米手机,对应的Activity信息如下,这其中PermissionInfoActivity是点击“应用权限”的权限详情页面。
com.miui.packageinstaller/com.miui.packageInstaller.NewPackageInstallerActivity: +220ms
2com.miui.packageinstaller/com.miui.packageInstaller.NormalInstallReadyActivity: +97ms
3com.miui.packageinstaller/com.android.packageinstaller.miui.PermissionInfoActivity: +97ms
4com.miui.packageinstaller/com.miui.packageInstaller.InstallProgressActivity: +99ms
发现整个安装过程是执行在小米系统miui的"com.miui.packageinstaller"中,那么可想而知在原生Android系统也有对应的Activity。
APK包体越大,安装时间就越长,因为需要解析和校验的越多。无论哪种方式,安装完成后都会通知到 桌面应用Launcher,Launcher在桌面上添加一个App图标。这就是用户感受到的安装过程。
好了,APK安装过程 就讲完了!
—— 并没有
一文带你搞懂APK安装过程相关推荐
- 一文带你搞懂从动态代理实现到Spring AOP
摘要:本文主要讲了Spring Aop动态代理实现的两种方式. 1. Spring AOP Spring是一个轻型容器,Spring整个系列的最最核心的概念当属IoC.AOP.可见AOP是Spring ...
- 一文带你搞懂C#多线程的5种写法
一文带你搞懂C#多线程的5种写法 1.简介 超长警告! 在学习本篇文章前你需要学习的相关知识: 线程基本知识 此篇文章简单总结了C#中主要的多线程实现方法,包括: Thread 线程 ThreadPo ...
- RPC框架:一文带你搞懂RPC
RPC是什么(GPT答) ChatGPT回答: RPC(Remote Procedure Call)是一种分布式应用程序的编程模型,允许程序在不同的计算机上运行.它以一种透明的方式,将一个程序的函数调 ...
- 如何查询你电脑的IP地址?一文带你搞懂IP地址
上一章介绍了数据链路层--以太网数据帧的报文格式(你知道以太网数据帧在网络中如何发送和接收的吗?一文带你搞懂它),本章介绍下网络层--IP地址. 大家都知道计算机都会有一个IP地址,只有配置了IP地址 ...
- RPC框架:从原理到选型,一文带你搞懂RPC
大家好,我是华仔,RPC系列的文章是我去年写的,当时写的比较散,现在重新进行整理.对于想学习RPC框架的同学,通过这篇文章,让你知其然并知其所以然,便于以后技术选型,下面是文章内容目录: RPC 什么 ...
- ipv6单播地址包括哪两种类型_IPV6中为啥没有ARP了呢?一文带你搞懂NDP邻居发现协议...
前言 前面我们介绍了ICMPv6协议 除了提供ICMPv4常用的基本功能之外,还有邻居发现(ND)的功能.一文带你看懂ICMPv6和ICMPv4的区别 那么究竟什么是邻居发现协议(ND)呢? 邻居发现 ...
- 一文带你搞懂什么是测试开发!
需要说明的是,原文发表于作者的公众号中,文章篇幅虽长,但内容朴实.且能帮助读者进一步理解测试开发工作,请读者耐心品完~ 01 开始前说点什么 1. 自我反省 公众号开通了也有两年多了,除了刚开通的那段 ...
- 【MDX】一文带你搞懂SQL Server Analysis Services 的安装和使用
目录 Step 1: Install developer and management tools 安装 new stand-alone SQL Server installation or add ...
- 秒杀系统架构分析与实战,一文带你搞懂秒杀架构!
作者丨猿码道 jianshu.com/p/df4fbecb1a4b 1.秒杀业务分析 正常电子商务流程 (1)查询商品: (2)创建订单: (3)扣减库存: (4)更新订单: (5)付款: (6)卖家 ...
最新文章
- 剑指offer 40.最小的 K 个数 python代码
- 语义分割源代码_综述 | 基于深度学习的实时语义分割方法:全面调研
- react-native项目打包速度优化
- TypeScript 原来可以这么香?!
- 重磅 | 边缘计算核心技术辨析
- nginx正则表达式
- 北理工在线作业计算机的主要特点是( ),北理工18秋《计算机组成原理》在线作业【答案】...
- php 多态有什么用,php面向对象多态的介绍与优势
- java限制金额控制_JavaMail 限额管理
- 【免费】某平台3980元大数据课程免费下载,仅此1次
- document.body和document.documentElement的区别
- opencv-Mat数据类型及位数总结
- Android context.getSystemService的简单说明
- 学会忘记其实是一种美德
- 华硕X370 Pro更新BIOS后黑屏自救记录
- 全国计算机缴费时间江苏,2018年3月江苏全国计算机等级考试报名时间
- tpc-c 测试结果 tpc-c
- 测试进阶必备,这5款http接口自动化测试工具简直不要太香~
- 光猫虚拟服务器无法使用,光猫怎么配置虚拟服务器
- js中appendChild()用法
热门文章
- 【正点原子FPGA连载】第五十六章 双目OV5640摄像头HDMI显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
- getParameter方法的用法
- 深入浅出理解kNN(k近邻算法)
- 盘点一个使用Python实现Excel中找出第一个及最后一个不为零的数,它们各自在第几列
- 10JavaScript
- 惠普:云计算不适合SAP这样的应用程序
- 龙头股情绪周期教程php,《龙头股情绪周期教程》全集 第9讲:题材情绪周期反包阶段(低吸、反包板)...
- 刑事案件不追究刑事责任的情形,办案机关发现后应如何处理?
- linux批量解压zip文件
- Centos7 下 安装 Redis6.0.8