当前位置:网站首页>Why did wechat change from "small and beautiful" to "big and fat" when it expanded 575 times in 11 years?
Why did wechat change from "small and beautiful" to "big and fat" when it expanded 575 times in 11 years?
2022-07-28 18:55:00 【CSDN information】
Arrangement | Zheng Liyuan
Produce | CSDN(ID:CSDNnews)
A while ago , musk “ Blowing wildly ” WeChat , Praise its powerful function , Chinese people are like “ Living in wechat is the same ”, It's a very good App. As a result, this morning , Wechat has been searched for too many functions :

according to the understanding of , Initially in 2011 year 1 Wechat released in May 1.0, Its Android APK The volume of the installation package is only 457KB, It is worthy of the name “ Small and beautiful ”; And by the 11 Years later , WeChat 8.0.24 The installation package of version has reached 257MB——11 Over the years , Wechat installation package expanded 575 times .
All of a sudden , I feel as if I have mastered the increasing memory of my mobile phone 、 The answer that the space is getting smaller and smaller …… however , What did wechat, which has expanded hundreds of times, add ?
In recent days, ,B standing UP Lord “ Technology old boy ” Through reverse engineering , Uncover the secrets of wechat over the years APK The installation package is inflated 575 What is times used for , That is what he said :“ Wechat is here 11 How did Nian grow from small and beautiful to big and fat .”

( The picture is from B standing UP Lord “ Technology old boy ” Video capture )
One 、 Wechat followers “ Small and beautiful ” To “ Big and fat ”
because 575 This number comes from wechat 1.0 And wechat 8.0.24 The gap between , So this UP The two wechat versions are also the main reverse engineering and comparison .
The first thing to be clear is ,APK The installation package is essentially just a zip Compressed package , This means that the installed App It is often better than APK The file is much larger .
Wechat 8.0.24 For example , Its APK Installation package 257MB, But the size after decompression is 617MB, Occupancy space 634MB, contain 12639 File , It's before decompression 2.4 times . Compared with , WeChat 1.0 After decompression, only 737KB, Occupancy space 1.03MB, The number of files is only 199 individual —— in other words , At the beginning, wechat 1.0 Just use 199 A file is achieved “ Chat ” This core function .
And then , The UP I will check the unzipped folders of these two wechat versions respectively , Compare the gap .
(1)assets Folder
On wechat 8.0.24 in , The folder size 78.4MB, Occupancy space 80.1MB, contain 1137 File , It mainly contains various resources and materials of wechat , If you bring it with you emoji expression 、 Fonts under different pages 、 Audio file 、 Image resources 、 Wechat phone ringtone, etc .
And on wechat 1.0 in , Maybe it's because at that time, the resources of wechat were all the resources of the system , So there's no assets Folder .

It is worth mentioning that , Parsing wechat 8.0.24 Of assets Folder when ,UP The Lord spit out two points :
The most taboo in programming is Pinyin naming , Because it makes the code hard to maintain , Tencent programmers will “ Receipt to account ” The audio file of is directly named “skdz”.
“ Receipt to account ” The audio of is placed on assets\sound Under the path , And the same is an audio file “ Wechat phone ring ” But directly on assets Under the path , so “ The development of the new version of wechat is very chaotic ”.
(2)lib Folder
On wechat 8.0.24 in , The folder size is 337MB, Occupying the wechat version space 54%, It contains various third-party dynamic libraries , As used in extracting files 7-Zip library , Decoding and playing in real time ape、flac、mp3、ogg Library used for audio files , Codec video used ffmepg Library, etc. , Altogether 157 Databases .
According to the UP Main analysis , Most of these libraries come from “ Copy and paste oriented programming ”: In many cases , Programming is not from 0 Start hard writing , But if you lack any function, go online to find one to realize this function “ wheel ” Then sew in App in , And that leads to this Go to App The more functions are inserted , Its installation package volume will also become more bloated due to the addition of various dynamic libraries .
take the reverse into consideration WeChat 1.0, Its lib There are only 1 A dynamic library , The size is only 127KB, That is to say “ Chat ” This most important function .
(3)META-INF Folder
This folder is used to store the developer's digital signature , WeChat 8.0.24 The size in is 2.1MB, WeChat 1.0 Medium is 34.4KB.
(4)r/res Folder
On wechat 8.0.24 in ,r Folder size 29.9MB, It's on wechat 1.0 The corresponding in is res Folder , The size is 250KB, Main storage App Resource pool , Such as the framework materials of various graphical interfaces 、 Icon material, etc .

(5)resdec Folder
Whether on wechat 1.0 Still on wechat 8.0.24 in , The folder is empty , So no more words .
(6) Other documents
besides , On wechat 8.0.24 There are also 17 File : The configuration file AndroidManifest.xml, Record classes.dex file MD5 It's worth it baseInfo.dat, Record the correspondence between files resources.arsc, as well as 14 individual classes.dex file , That is to say Java Generated after source code compilation Java Bytecode file , That is, wechat compiled program ontology .
On wechat 8.0.24 in ,14 individual classes.dex Documents account for 161 MB, Corresponding to wechat 1.0 Only in 1 individual , And only 256KB.
(7) Source code composition
After analyzing the extracted file ,UP He also checked the wechat source code before compilation through reverse engineering , The result shocked him .
First look at wechat 1.0 What the source code contains , The basic units of the source code are as follows :

Look at WeChat again 8.0.24 Source code composition unit :

Through comparison, wechat can be easily seen 8.0.24 Various units have been added 500 More than times , In especial string character string , From the initial 1845 In the new version, the number soared nearly 150 m .UP The Lord joked about this :“ It can be seen that there are 99.9% The content of is garbage , The code that really implements the chat part may only occupy 0.1%.”
At the end of the video , This name UP The master concluded :“ Wechat treats itself as an operating system App, What taxi 、 Courier 、 Take-out food 、 game , Whether you need it or not, I'll put it in for you , Then Taobao 、 Alipay 、 Meituan, etc Various App Take up your mobile space again , The increased performance and memory of the mobile phone are used to run the code of these garbage functions , Users have no choice .”
Two 、 Net friend :“ The computer is a browser , The mobile phone is full App”
“ Technology old boy ” This video of is on B While standing and causing a lot of discussion , Also on the microblog hot search , Many netizens expressed their views on his analysis .
There are many people recognition UP The conclusion of the Lord :
“ The computer is a browser , The mobile phone is full App.”
“ Wechat accounts for more than ten of me G, The mobile phone is about to explode .”
Some people point out , This name UP The main analysis is not professional , And too subjective :
“ As a Android Development , This video is a cool article , But it has no technical value , There are few correct points .”
“ Although wechat garbage is a fact , But your reverse obviously doesn't make sense .”
“ Subjective consciousness is too strong .”
At the same time, some netizens also take this Made some idealized suggestions :
“ It would be great if you could download modularity by yourself , On the basic chat function , Short videos and watch your own selective downloads .”
“ I hope the software will be released in a pure version , Don't make a fuss 、 Unnecessary functions increase memory .”
3、 ... and 、 One by one App The birth of , Is it a blessing or a curse ?
I still remember on wechat night last year , Zhang Xiaolong, founder of wechat, once said :“ Wechat started with small and beautiful products , It is still a small and beautiful product .” But when we look at the mobile phone, even if we often clear the cache, it is almost stable App Wechat, which ranks first in memory consumption , I can't help feeling a little confused .

first , Wechat as “ Convenient, fast and simple ” Of “ Light chat tool ” popular , Today, , Carry the payment 、 Short video 、 Search for 、 Wechat with multiple functions such as shopping has grown into a super App.
Except wechat , At present, many enterprises do App It's also a pair of “ All I want ” The attitude of , In order to attract and stabilize more traffic , Whether relevant or not 、 Good use , As long as the function of fire is stuffed , Everyone wants to be an all-round browser 、 Super App.
But in fact, for many users , These functions are often not used ,App The increase in volume is not necessary for them —— This triggered a thought : One after another super App The birth of , For consumers, is it a convenient carnival or a welfare tragedy ?
Last , Can you share how much memory wechat occupies in your mobile phone ? What suggestions or opinions do you have on wechat ?
Reference link :
https://www.bilibili.com/video/BV1cB4y1b77n?spm_id_from=333.337.search-card.all.click
https://s.weibo.com/weibo?q=%E5%BE%AE%E4%BF%A1%E5%AE%89%E8%A3%85%E5%8C%8511%E5%B9%B4%E8%86%A8%E8%83%80575%E5%80%8D&Refer=realtime_weibo
边栏推荐
- Is the software testing training institution reliable?
- Gateway入门
- How to solve the problem that easycvr device cannot be online again after offline?
- Zero knowledge proof: zkp with DDH assumption
- 2022.7.26 constructor, interview: the role of new, deep copy and shallow copy
- LeetCode_ 343_ integer partition
- New upgrade! The 2022 white paper on cloud native architecture was released
- 直播平台软件开发,js实现按照首字母排序
- Record your interview experience in Xiamen for two years -- Conclusion
- 1.1、稀疏数组
猜你喜欢

Why app uses JSON protocol to interact with server: serialization related knowledge

Getting started with gateway

SwiftUI 组件之如何实现电话号码掩码隐藏部分的文本字段TextField(教程含源码)

Open source database innovation in the era of digital economy | the 2022 open atom global open source summit database sub forum was successfully held

十进制转二进制进阶版(可转化负数以及边界值)

配置教程:新版本EasyCVR(v2.5.0)组织结构如何级联到上级平台?

Docker builds MySQL master-slave replication

MYSQL入门与进阶(五)

Win11系统svchost.exe一直在下载怎么办?

我的创作纪念日 -- 2022年7月25日
随机推荐
The switching language of unity causes an error: system FormatException:String was not recognized as a valid DateTime.
Haproxy implements proxy configuration
redis持久化之RDB和AOF的区别
What is one hot code? Why use it and when?
When golang encounters high concurrency seckill
视频融合云服务EasyCVR平台白名单功能如何使用?
Use the self-developed proxy server to solve the cross domain access errors encountered when uploading files by SAP ui5 fileuploader trial version
1.1、稀疏数组
不理解模块化、组件化、插件化的区别怎么行?
jvm调优
Introduction and advanced level of MySQL (10)
JVM four reference types
直播平台软件开发,js实现按照首字母排序
Introduction and advanced MySQL (7)
MYSQL入门与进阶(六)
2022年中国企业服务产业市场行情
2022-07-27 第四小组 修身课 学习笔记(every day)
NPM cannot recognize the "NPM" item as the name of a cmdlet, function, script file, or runnable program. Please check the spelling of the name. If the path is included, make sure the path is correct,
MySQL date function
LeetCode_1137_第N个泰波那契数