Current location - Recipe Complete Network - Complete cookbook - Why are domestic Android apps getting bigger and bigger?
Why are domestic Android apps getting bigger and bigger?

I work on Android, let me tell you the reasons. Android software is mainly caused by the following aspects. 1 Difficulty in realizing Android interface functions. Android is more difficult to implement than apple in some aspects. For example, Android advertising push. Apple has its own servers that can be used, but Google's servers cannot be used. What to do, so there are n ways, and some people will use third parties such as Baidu. But more companies will do it themselves. Advertising push is linked to profitability, which is a very important function. One ad push will cause the app to generate seven or eight more categories, hundreds or even thousands of lines of code. But this is not the most important thing. The most important thing is that this function is so important that every Android APP will have it. Because this function needs to be pushed, this function needs to run in the background 24 hours a day. This results in countless pushServices running in the background. They occupy memory and CPU. Some even ask for permission to record phone calls and copy personal information. 2 The Android interface is a bit difficult to implement compared to Apple. This difficulty has existed from the moment Android was born. One interface has one activity, and n interfaces have n activities. There is code redundancy in n activities for some reason. So we have fragments, but when fragments are deeply nested, there will be many difficulties. The most typical difficulty is to pass values ??and page jumps. This subtitle adds to its complexity. Because it will produce a lot of redundant code to implement. 3 software upgrade. Compared to Apple, Android upgrades are very frequent. The biggest feature of Java programs is reusability, which is especially suitable for secondary development. Most programmers will not delete unused code when upgrading software. In order to be compatible with older versions, it is even more difficult. This results in a huge amount of dead code. 4 Interface layout file. There are many fragments of interface layout, and these fragments are related to Java code. The more pages an app has, the more junk layout files it generates. In order to pursue speed and program readability, many companies will not take the initiative to delete outdated code and layout files. 5 pictures, icons. The code size of the APP is quite large, which may be caused by the pictures. More pictures will cause the APP volume to expand rapidly. With media-related videos, it is understandable that games will become giants. But another important reason is Android adaptation. Because Android phones are seriously fragmented, more than 2 sets of pictures and icons are often needed for user experience.

Andy Beer’s Law: Software will become more and more bloated

Andy Beer’s Law is so amazing that even the famous Moore’s Law has to tremble in the face of this iron rule. Three shakes. It doesn’t seem too much to say that Andy Beer’s Law dominates Moore’s Law. Of course, this is not because the name of Andy Beer’s Law is relatively long. No matter how much Moore's Law improves hardware performance, people have to spend money to upgrade new equipment every year. This is the power of Andy Beer's Law. What exactly does Andy Beer's Law refer to? Let's take a look.

Andy Beer’s Law is not a law, it is an opportunity! ——by JS who sells hardware

To talk about Andy Beer’s Law, we must first mention Moore’s Law. Everyone knows Moore's Law. It is commonly circulated on the Internet that "the performance of chips doubles every 18 months and the price halves." This is not the original version. Gordon Moore's original statement was that transistors doubled every 24 months, and 18 months was the statement of David House, then Intel director. The details don't matter, the general meaning is basically the same. The development of hardware is indeed as Moore's Law says, and performance continues to grow explosively.

The 24-month statement fits better, but it is not wrong to apply the 18-month statement to mobile platforms in recent years

However, over the years, things have gone wrong. , the hardware has improved, but it doesn’t feel like it’s getting faster? What you used to do with a computer three years ago is basically the same now. The hardware is powerful, but the increased performance can only turn the chip into a hand warmer and be used to support the power plant. Isn’t this a scam? When I turned around, I saw that the Wintel Alliance, a merger of Microsoft and Intel, smiled and said nothing.

This is the essence of Andy Beer's Law. The so-called Andy-Beale Law, Andy refers to former Intel CEO Andy Ruf, and Bill refers to the well-known Bill Gates. This law gave these two IT tycoons a hard time. The meaning of the Andy-Beale Law is that what Andy gives, Bill takes; no matter how powerful Intel produces hardware, Microsoft will eat up all the increased hardware performance with increasingly bloated systems and software. Andy Beer's Law essentially describes the problem of software bloat.

Andy & Bill: Don’t just look at it, buy it quickly

With the addition of functions and innovations in interaction, it is normal for software to become bigger and bigger. . However, software bloat does not only refer to the expansion of the software volume. The key point is that the increased functions of the software are out of proportion to the increased size. The protagonists of Andy Beer's Law are Intel and Microsoft, but in fact, in the entire industry, software bloat has become a major problem. Whether on desktop or mobile platforms, signs of software bloat are everywhere.

Desktop platform & mobile platform: It is impossible to escape the curse of bloated software

Desktop platform

In recent years, the most worrying thing about the bloated software of desktop platform is , it should be Windows Vista. As soon as Windows Vista came out, the Aero frosted glass special effects blinded countless people's eyes and made countless memory sellers smile (although they soon cried). The same history was also played out when Windows XP took over the banner of Windows 98 (not to mention the shabby Windows Me, and not to mention the fact that Windows 2000 is part of the Server series). Both Vista and XP have brought a lot of innovations. Unfortunately, countless old machines have been taken away.

To be honest, there were more than one or two people who expected Microsoft to release a Vista+ memory bundled package.

In addition to the operating system, the bloat of desktop application software is also very obvious. . Take IM software as an example. Over the years, the main functions of IM have not changed much. They are still typing, voice and video. However, QQ 2003, which is less than 10M in size, has become a last resort. Although the new version of QQ 2013 is more than 50M in size, it does not seem to be an exaggeration. But if you open a few more windows, you will find that even 2G of memory cannot feed QQ. Good luck! 1G of RAM can support Windows XP!

Mobile platform

On mobile platforms, software bloat is even more serious than on desktop platforms. Let’s first take a look at Apple, which is famous for its outstanding optimization effects. The size of iOS4 is less than 600M, while the size of iOS7 has reached more than 1G. As for the resources occupied, everyone should have an idea of ??the situation when the iPhone 4, which was running smoothly back then, was stuck and crying. And what functions of iPhone 4 can only be realized with iOS7? Siri? Touch ID? High-speed continuous shooting? Sorry, the old models come standard with old features and lags.

Many new features are exclusive to new devices, and the increase in functionality is completely out of proportion to the increase in software

Let’s look at Android, which is famous for its hardware appetite. If Android were not stuck at 32 Bit bottleneck, I am afraid that the RAM has been piled up to 4G this year, right? 8 cores + 4G RAM, just in terms of name, many PCs are not so exaggerated, but can this feed Android? Still have to put a question mark. In addition, Android apps have fewer restrictions than iOS platforms, and developers are just like a carnival, desperately adding fuel and jealousy to it. Android apps have become heavy and sluggish, which is really too much to bear.

Eat, eat, the more you eat, the fatter you will become, and in the end you may not be able to move.

It can be said that whether it is an iOS platform or an Android platform, whether it is a mobile platform or a desktop platform , software bloat is very common. Inflation is an inevitable phenomenon in economic development, and software bloat seems to have played a similar role in the history of consumer electronics development. Why does Andy Beer's Law always work? Is software bloat really unavoidable? Let’s take a look at the reasons why software gains weight.

Food for fattening: three major reasons for bloated software

Evolution of hardware requirements: good steel is used on the blade, and the blade also needs good steel

As mentioned earlier , with the advancement of technology and the development of user needs, it is a very normal thing for software to gain weight. If you want a horse to run, how can you stop it from eating grass? Taking the most intuitive interface as an example, computers in the early years could only display the most basic letters, such as English letters and Japanese kana, etc. To display various Chinese characters, the font capacity had to be increased; in the era of graphical interfaces, from 16 colors to From 256 colors to 32-bit colors, every step of evolution requires more advanced hardware to pave the way. It would be too magical to use a carriage to pull people to Mars.

Although the system still retains an efficient command line, perhaps the most fascinating thing is the various resource-eating special effects of the graphical interface

Ten years ago, PCs could easily decode DVDs. 1080p Blu-ray discs are useless, but today’s mobile phones can play 4K videos; ten years ago, mobile phones could listen to music and take photos, but compared with today’s mobile phones that can knock out Walkman card players, they are completely different. . In the future, 3D, holographic and immersive experiences will bring people a new world. Of course, this world must be supported by more powerful hardware.

Software has too many functions: good steel is used on the blade, and the back of the knife also takes a share of the pie.

I don’t know when, all kinds of software suddenly became very fond of using strange things. Stuff it inside yourself.

A good chat software suddenly has the added functions of news browsing, security and anti-virus; a good browser suddenly has the added functions of security, anti-virus and social chat; a good anti-virus software suddenly has the added functions of social chat and news Browsing and other functions. Normally, you can get three functions by installing three software, but now you can get nine functions by installing three software. What do you mean, the functions are all duplicated? I can't hear it. In short, one tablet is better than three tablets. It is very effective and is specially designed to treat excessive computer performance!

You tell me, this is a chat software?

The IT industry is currently in a period of dramatic transformation from desktop to mobile and from local to cloud, and emerging application environments are emerging one after another. Affected by the general environment of the industry, software that specializes in a certain function has become less and less. Developers are eager to dominate the user's usage environment with one installation package, paving the way for their future and money. Under this guiding ideology, blacksmiths also began to cut wheat, and cooks also began to be responsible for making steel. If you want to make full use of the performance of Moore's Law, good steel is always used on the blade, and various software applications that start up with the system are shaking their fat and stand up to protest and refuse to agree. Killed two or three gangsters, and countless others.

Dissatisfied with the desire for software: a basket full of good and bad, no matter what else is used to top it up

Is the performance of current computers really excessive? For some developers, there seems to be no difference between excess and excess hardware. No matter how advanced the hardware is, there is always someone who can write software that squeezes the performance out of it. These software can be divided into two categories.

The first category is bloated software caused by shoddy manufacturing in any era. No matter how high the hardware performance is, bad code can always turn magic into corruption. This is especially common on platforms with a high degree of openness. As mentioned earlier, the problem of bloated software on the Android platform is serious, and it is because of this problem. The Android platform does not have strict audits, nor does it have a detailed permission control system. The entry barrier is low, and developers can work freely. Faced with resources that are not scarce at all, I’m afraid not many people know how to cherish them. As a result, a bunch of Android apps that ate up hardware resources were born.

The Android development environment makes it too easy to write junk apps

The second category is software that is too advanced and does not take into account the current hardware platform environment. But unlike the first type, this type of software is not shoddy, but carefully designed - but it doesn't look like it was designed for ordinary people. Taking Windows Vista as an example, I have always believed that Vista is a very good system - provided that it is not running on a PC with a mainstream single-core CPU and 512M RAM in 2006.

In fact, Windows 7 is roughly the vest of Vista. The performance, speed and hardware requirements of the two are basically the same. Why is there such a big gap in reputation between the two? Apart from some differences in details, it is probably because of the birth of Windows 7. In 2009 instead of 2006.

Software bloat: Is there really no cure?

The weight of modern people is becoming more and more exaggerated. Taking the country of Hope as an example, according to statistics, the obesity rate in the United States is close to 30%. Obesity causes approximately 100,000 to 400,000 deaths in the United States every year, and significantly increases medical expenditures and other social costs. The United States spends US$117 billion on obesity every year, which is dire straits. The current software environment is similar to the obesity problem. People have to make great efforts to feed the greedy hardware needs of software developers, and face problems such as lagging, stopping of responding, and crashes caused by bloated software. It is so sad. . Whether it is a human brain computer, the blood vessels are injected with fat unique to the era.

Obesity has become a big problem in both human society and the IT industry

People have realized the consequences of obesity, and weight loss has become an indispensable topic in urban life. . Similarly, the IT industry is also working hard to solve the problem of software bloat. Although the general trend of software bloat has not stopped, in recent years it has been overwhelmed by Andy Beer's Law, and there are many cases of people taking diet pills in an attempt to eliminate software bloat. The representative of people who have successfully lost weight on the desktop platform is Windows, and the mobile platform is Android. Come and watch together, be inspired and inspired.

Inspiring weight loss case 1: Microsoft Windows

Windows Vista has been criticized for its obesity, and Microsoft obviously knows that its design is a bit too advanced. Starting from Windows 7, the Windows series has been involved in a vigorous weight loss campaign. Windows 7 is the first Windows system that is more resource-efficient than its predecessor, which is of great significance. Although the degree of weight loss is not exaggerated, and it is basically in the same weight class as Vista, coupled with the progress in I/O, Windows 7 feels more efficient.

From Vista to Windows 7, from Windows 7 to Windows 8, Microsoft has been losing weight with every generation

Microsoft has continued its weight loss campaign to the Windows 8 generation, and Windows 8 has also become the first Two Windows systems that are more resource-efficient than the previous generation.

According to the current migration trend of Windows to phablets, Windows 9 is likely to still save more resources than the previous generation. I hope so.

Inspirational case for weight loss 2: Android 4.4

It goes without saying that Android is bloated, and Google has also learned from the experience. This time Android 4.4 has spent a lot of money on optimization. First, Google spent a huge amount of US$23 million to acquire Flexycore, a startup company in Rennes, France, which is a company focusing on Android optimization. Then in Android 4.4, Google launched "Project Svelte" (slimming plan), which greatly reduced system memory requirements and peak computing volume. In addition, to address the low efficiency of Android Apps, Google no longer relies entirely on the Dalvik virtual machine and has launched a new ART mechanism, which has greatly increased the running speed of the App.

The success of Android 4.4 in weight loss is simply shocking

The results of Android 4.4 efforts are outstanding. Someone transplanted Android 4.4 to the Nexus S, which only has 512M RAM and a single-core CPU. , and found that the smoothness is amazing, in line with Google's official claim that "Android 4.4 can run smoothly on 512M RAM devices". Android 4.4, which has successfully lost weight, is undoubtedly a great benefit to users. Maybe the Android hardware war can be put on hold for a while.

Software bloat cannot be stopped: Why do people give up on treatment?

From the examples of Windows and Android, we can see that bloated software is not hopeless, but why do people often give up treatment? We can refer to game console platforms where software bloat has never occurred. The lifespan of game console platforms is astonishingly long, often lasting more than five years or even ten more years. As time goes by, the optimization effect of games on game consoles will even get better and better. The PS3 released in 2006 can still play the latest masterpieces such as GTA5 and Crysis 3 (although the effect is a bit worse). How many pieces of firewood can an ordinary PC in 2006 still cost?

On the game console platform, the resources required by the software are stable, and new games will not consume more resources than the old ones.

The game console platform is very closed, and in the long run The hardware performance during the life cycle is stable and close to the horizontal line. For developers, on the one hand, due to strict review, they must strive for excellence in the finished game. You cannot mess around, and at most you will only engage in in-app purchases; on the other hand, stable hardware is conducive to the work of the boss, and every game is a good one. It will become clearer and clearer where the function should be used. The ability of game consoles to function efficiently from beginning to end over a long life cycle, insulating software from bloat, is closely related to its unique platform ecology.

The development environment and platform ecology are changing too fast, and it is impossible for developers to take care of old devices

Looking back at computers and mobile phones that are changed every year or even half a year, there is no way at all It is impossible to provide developers with a stable development environment, and software applications have to keep up with the rapidly evolving hardware platform updates; at the same time, even the iOS platform, which is known for its strict review, is not as stringent as the game console platform, let alone The door is wide open for Windows and Android. Microsoft and Google naturally have the human and financial resources to wait and see calmly in the tide of the times, slowly polishing the code, and take a long-term view to catch big fish; but for more developers, keeping up with the frenzy of platform updates and using more means to control users , obtaining short-term benefits is a better way to make money. As for whether the software is bloated or not... so what can God optimize? Can you make a fortune? If you like to play with optimization, let enthusiastic independent developers have fun on their own.

Andy-Beer's Law will still follow Moore's Law for a long time

Afterword

It is not difficult to find that the faster the platform changes, the easier it is for software to bloat phenomenon. Hardware maniac Android’s applications are more bloated than iOS, and the mobile platform is more bloated than the desktop platform that has slowed down its update pace in recent years. PCs from five years ago are still usable, but smartphones from five years ago have become mentally retarded. It’s not that everyone doesn’t want to lose weight. In the chaos of war, if you don’t try your best to stuff yourself with something today, who knows if you will have a chance to eat tomorrow? The more obvious the effect of Moore's Law is, the greater the effect of Andy Beer's Law will be. It must be said that this is a strange circle in the development of consumer electronics, the tears of the times.

This friend from Hope Grass gave a very detailed answer. In summary, it is caused by Family Bucket, chain startup, excessive permission request, high open source of Android system, and insufficient code optimization, and the most important thing is A little

For many years, Apple mobile phones have been 4.7 inches, 5.5 inches, or 4 inches like the iPhone SE. It is easier to adapt the APP. The size and screen resolution of Android phones are too weird, and the gap is too big, so there are many When APP manufacturers make programs, they must prepare several sets of content for the so-called adaptive resolution.

Tencent is a gangster. . . It would be strange if the phone doesn't get stuck if we use a few more softwares like this. . . .

Sometimes I really don’t understand. You said that your input method (not specific to a specific product) is just for the convenience of inputting text. Is it necessary to be so big?

This picture can probably answer your questions

My QQ 8G

No matter what, I don’t like Android, the software is too noisy! The notification bar is filled with application messages all day long, many of which are junk ads. I have installed more than 200 software on Apple, and my phone is refreshing and undisturbed! Many people may say that Android is also fine! But many Android software cannot be used after you disable some functions! Important information cannot be received! You can see that at the top of my screen there is nothing except the necessary display! You can also take a screenshot of your Android to see if your phone is for use, not for receiving ads. It’s not just a hassle. If an Android machine has more than 200 software installed, the messages will not stop all day long! I don’t want to hack our Chinese mobile phone. I also use Meizu. The system is good and the software is not serious.

You can try importing photos from your mobile phone to your computer, but you will find that there are too many cached images. It's not that they can't handle it. Only if it is this big, the phone will get stuck. Then an Android phone becomes stuck after one or two years, and they have to replace it with a new one, so they can have sales. People say apples are good, you will know if they are true if you try them. It's basically not stuck after a year or two. Don't talk about being patriotic and buying domestic products. These businessmen are the most unpatriotic. What happens to the real country? They are the first to transfer assets in order to preserve value. Trump has attracted so many businessmen to build factories in the United States is the best example. There is money to be made, the subsidies in the United States are high and taxes are low. Any reason is valid. It is rare to say that they are unpatriotic. And their reason for expanding sales is simply to get us to buy their stuff out of patriotism. Ridiculous? When I say I am patriotic, I have a clear conscience. Because I have grown up, as long as I know that the things I buy are Japanese products, I will definitely not buy them. Domestic products are still a baby. The more pampered you are, the easier it is to become bad. Be caring, but don't dote on them, that's very brainless.