当前位置:网站首页>Excellent package volume optimization tutorial
Excellent package volume optimization tutorial
2022-07-29 08:58:00 【Sharp surge】
author :yechaoa
link :
https://juejin.cn/post/7116089040264232967
This article is authorized by the author .
There are many optimization schemes in the market , But there is no complete link system , Now it's here , This article will take you to a new level , Whether it's an interview 、 The performance of KPI, Or report and propaganda , Can make you comfortable !
Read before :
Android Package volume optimization ( routine 、 Advanced 、 The acme )
Comprehensive optimization plan covering all stages .
Note that this article is more inclined to methodology and planning ability , The focus tends to be on how to do a good job in a technology topic, If you simply want to see the technical solution , It can be read before reading .
Wait a minute. :
Introduce a small sharing group , This article is also from one of the sharing , Paste and check by yourself :
https://qdp21w3pc9.feishu.cn/docs/doccnqIownailqLMV78VDowWRt5
A small sharing group maintained by a few folk heroes , I personally admire , But I'm also worried , Because generally, organizations without income are difficult to maintain for a long time , I still hope it can find a suitable way to persist .
1
background
Improve download conversion rate
...
Improve the update rate , This is rarely mentioned , Second download is also important , It can promote the rapid landing of business .
2
present situation
The latest version ?MB, breakthrough 80 mark ?100 mark ? Competing with each other ?
near 6 Monthly average monthly growth rate ?MB
near 6 Monthly average update cycle of each version (7 God ?10 God ?)
Output report
3
The goal is
Reduce 30MB & Reduce 30%
4
Specific analysis of the current situation
Proportion of pictures 15%
Code proportion 25%
so file 50%
other 10%
Combined with project analysis , Output the specific factors behind the proportion of each item ( Fancy design ? Business complex ? Reasonable structure ?)
Output pie chart
5
Optimization idea
1. Compress the files involved in packaging
2. Reduce the number of files involved in packaging
6
Planning thinking
How to ensure stability ?
How to long-term governance ?
Think from a higher angle
7
Milepost
1. Information publicity
2. Ensure that the progress is progressing steadily
3. If there is a risk, seek resource support in time
8
Gripper
Android Studio
ApkChecker
ClassShark
...
Produce tools with project characteristics
9
Big picture of Technology
10
Picture optimization
Manual -> Script
11
Code optimization
12
long-range so
You need to be familiar with the packaging process , know Gradle Various Task What is the executive doing .
Packaging stage , Merging in apk Before , Put the need for remote so Upload the file to the remote , Then eliminate .
Flutter Of so There is little information about remote , Mention it , Search the source code FlutterLoader, Inherit FlutterLoader rewrite startInitialization, The principle is to interfere with the original so File loading path .
11.1、 Download process
Precipitation general download SDK
Network state management
Download task priority scheduling
Breakpoint continuation
...
11.1.1、 Start download ( Leisure time )
Idle Download : Users are imperceptible , Even if it fails , There is no need for interactive expression .
11.1.2、 Download on demand
Download on demand : The download process is the same as that in idle time , But the forms of interaction are different , You need to let users know what you are doing 、 What progress , Provide a loading Page load .
Self inspection : It's not necessarily the problem of our code , It may be that the user network is unavailable 、 Insufficient storage
Practice can be referred to :
Android Dynamic loading so! This one is enough !
13
test
Compatibility :android 5.0-12.0
Whether to download repeatedly 、 Is it available (32/64)
Broken net 、 Weak net
Overlay installation
The front desk goes back to the backstage
...
14
Monitoring alarm
13.1、 Buried point
success
error code/message
so name
retry
demotion
storage size
download type
download time
Equipment information
Internet Information
User information
...
13.2、 monitor
Download success rate
load The success rate
loading Page open success rate
...
13.3、 The alarm
? minute ? Secondary failure
Alarm forms include but are not limited to nail groups 、 Wechat group 、 SMS 、 Telephone, etc .
13.4、 Obstacle removal
Troubleshooting guide
Database bottom table query sql
15
Long term governance
Design principle of bayonet after packaging :
1. During the packaging process, the resource file 、 Code file 、jar/aar Wait for documents to be merged , Now that you know what documents there are , You can know the size of these files , You can output a file size As the baseline of the current version .
2. The threshold configuration information can be written dead , Configurable .
16
result
Before optimization 、 Comparison after optimization
Competing with each other contrast
Download time comparison
Installation time comparison
...
Output report
17
The future planning
White list logo?
Precipitation methodology ?
Process instrumentalization 、 Intelligent ?
Monthly report ?
Big data ?
...
18
value & significance
technology : Precipitate general components ? innovation flutter?
The team : influence ?
company : Reduce bandwidth , Year round savings ?W funds
user : Download time is reduced ? Installation time is reduced ?
social : Less per download ?M Traffic , Save traffic throughout the year ? Billion
...
19
reflection
Need to be extreme ? Theoretically, start unnecessary pictures 、 file 、so Can be remote .( Is it necessary to lose weight as thin as possible ?)
Minimalist bag ?
20
Interview questions
Why choose tinypng, What is the principle , Is there any other plan ?
long-range so What are the selection criteria ?
Does it support continuous transmission at breakpoints ?
Will you download repeatedly ?
Can I choose to download according to the network ?
Is there a document integrity check ?
Is there a download priority ?
How to avoid 64 Bit device down to 32 position so file ?
so Will the updated file coexist with the old version on the device ?
What is the bottom plan ?
What else can be optimized ?
...
21
Last
Top chefs cook online , Eat by yourself , Not responsible for feeding 🤪
Think more , Think deeply , The kind you can dream about 🧐
Do more tricks , More personal parts , Even without technical depth
Role change , personal 、 The team 、 product 、 Pull new operation 、 user 、 company 、 social ...
The value of Technology 、 Business value
Don't forget triple company ~
I don't like theory very much , Prefer practical , You can check the following articles , But I suggest you cultivate some planning thinking , After all, go up , One day, it is necessary to plan and do some management things :
Android Package volume optimization ( routine 、 Advanced 、 The acme )
Blow up series : Explore in depth Android Package volume optimization
from : Excellent package volume optimization tutorial , It's not just optimization !
边栏推荐
- 6.3 references
- GBase 8s数据库有哪些备份恢复方式
- 2022 question bank and answers of operation certificate examination for main principals of hazardous chemical business units
- Curl -v | JQ
- How does xjson implement four operations?
- 状态压缩dp
- What if official account does not support markdown format file preparation?
- LeetCode刷题(6)
- What is the key to fast multi tag user profile analysis?
- Eggjs create application knowledge points
猜你喜欢
网络原理笔记(五层网络)
Tesseract text recognition -- simple
ADB common command list
信息系统项目管理师必背核心考点(五十三)质量等级
正则表达式校验版本号
2022 Shandong Province safety officer C certificate work certificate question bank and answers
Regular expression verification version number
LeetCode刷题(6)
User identity identification and account system practice
BI data analysis practitioners learn financial knowledge from scratch? What introductory books are recommended
随机推荐
Source code compilation pytorch pit
正则表达式校验版本号
C language calculates the length of string
Mathematical modeling clustering
How does xjson implement four operations?
Excellent Allegro skill recommendation
[C language] DataGridView binding data
6.2 function-parameters
Sword finger offer 27. image of binary tree
MySQL error summary
预训练模型与传统方法在排序上有啥不同?
Want to know how to open an account through online stock? Excuse me, is it safe to open a stock account by mobile phone?
MySQL statement mind map
Count the list of third-party components of an open source project
C language sorts n integers with pointers pointing to pointers
[from_bilibili_dr_can][[advanced control theory] 9_ State observer design] [learning record]
Data representation and calculation (base)
Common query optimization technology of data Lake - "deepnova developer community"
Data is the main body of future world development, and data security should be raised to the national strategic level
C # use database to bind listview control data