In-depth analysis of why Android apps are of low quality and crash

In-depth analysis of why Android apps are of low quality and crash

Unlike the situation a few years ago when iOS was able to crush Android with the number of apps and Android was struggling to get up, the number of apps on Android is now even greater than that on the iOS platform. When the Android system was first launched in 2009, the number of apps in Google Android Market was only a pitiful 19,000, but now the number of apps in the Play Store is close to one million, which is not inferior to or even more than that of Apple's App Store.

[[126144]]

There are a huge number of Android apps, and Android has gradually enriched its own content through third parties.

However, the high production volume does not seem to bring a good reputation to Android Apps. In people's impression, the style of Android Apps is similar to that of Huaqiangbei, with shoddy products and the majestic appearance of the 480 Villages of the Celestial Empire, and FC lags are commonplace. So why is the quality of Android Apps so low? Let's take a look.

The Secret of High-Quality Android Apps: Holo Framework

There are hundreds of thousands of Android apps, and of course there are some quality ones among them. After all, the Play Store has not become a garbage dump. The Play Store often places Android apps officially recommended by Google on its homepage. These quality apps often have one thing in common, that is, they are written in accordance with the Android Holo design specifications.

Play Store recommends Fancy, an app that uses the Holo framework

Some of you may not be familiar with the word Holo. Indeed, it is rarely mentioned in China. Holo is the Android App interaction and interface design standard proposed by Google when Android 4.0 was released. Google hopes to provide a design reference for many Android App developers. Before, everyone’s reference objects were the interfaces of iOS applications, and even the interfaces of Symbian applications. In addition, Google also weakened the menu key in Holo, which makes it easy for developers to migrate applications on iOS to the Android platform. After all, iOS does not have a menu key. In order to attract Apps to be ported to Android, they can only move closer to iOS in this regard.

Three Holo theme styles listed by Google

Google has made a lot of efforts to establish the Holo standard, and personally wrote the Holo specification, such as planning the operation area, operation gestures, layout logic of functional modules and even the size of the materials used. Because of Google's deep involvement, apps designed according to the Holo specification naturally enjoy many benefits brought by standardization, such as easier adaptation to multiple resolutions, more consistent with the style of the native system, easier use of hardware functions, and smoother operation.

Google has developed the Holo framework in detail, including the size of the assets.

Although many people have some complaints about Holo's layout, such as placing buttons at the top of the screen where they are difficult to operate, Holo's beauty and efficiency have been well received by everyone. It's so exciting to swipe left and right to switch pages. Moreover, although the Holo specification determines the general logic and framework of App interaction, Holo allows developers to place self-made controls in the function area, which provides developers with room for imagination. After the emergence of Holo, a large number of foreign Android App developers followed suit, and the new generation of Android Apps became extremely beautiful, simple and efficient.

Holo: Powerful but not tough

Holo is very good and powerful, but it has a fatal flaw - it is not a mandatory standard. In fact, Google cannot force the implementation of the Holo standard and make the new system only compatible with Holo. After all, there are a lot of apps written based on the old version of the development components. Throwing them away would be a death wish.

[[126145]]

Holo is good, but it can't be forced because not all Android devices can use the VPN system like Nexus

Since Holo is not a mandatory framework, Android App developers do not have to use Holo to develop Apps. There are many benefits to developing Apps with Holo, but you can't get these benefits just because you want to. Take China for example, most Android phones are mid-to-low-end models, and these machines often don't have the opportunity to use the new version of Android. When Holo was first introduced, most machines in China were still using 2.× or even 1.× systems. Holo could not play its advantages on these machines and even caused various strange problems. FC, freezes, and layout errors were commonplace.

Until now, non-Holo-themed Android 2.3 still occupies the largest share of Android versions

Under such circumstances, domestic Android App developers are unlikely to follow the Holo specification as long as they want to make money. Users don't understand what is technical and what is not. If they release an App that sometimes works and sometimes doesn't, they will only be scolded by users. In addition, domestic software has always had a tradition of deeply customizing its own interface. Even the Windows desktop can be customized by domestic software vendors to have a variety of faces, and many deeply customized versions of Android are made by Chinese people. It seems that it is not in line with the national conditions to expect domestic software vendors to obediently follow the specifications set by Google, which has no business cooperation with them, and just take the ordinary path.

At present, domestic App developers prefer to make Android Apps and iOS Apps look the same. After all, the design style of iOS is more widely known, and unifying Apps on different platforms into one design style is also conducive to establishing their own brand image. Typical domestic software developers that use iOS style on Android platforms include Tencent, Sina, etc., especially Tencent. Whether it is WeChat or QQ, the Android version and iOS version are basically the same except for the system top bar.

Remove the title bar and guess which one is the iOS version of WeChat and which one is the Android version?

With the development of the times, the systems of domestic Android phones are also slowly being updated, and the latest Android version of the phones released is 4.0. After Android 4.× gradually became popular, domestic Android apps still did not follow the Holo specification due to their long development history and inertia - it was a pity to start over. Therefore, it is difficult for domestic Android apps to enjoy the benefits of the new system, such as GPU acceleration, which makes many people complain why apps are still so stuck despite the butter plan. The emergence of a large number of high-resolution Android phones further exposed the shortcomings of these Android apps developed with old open tools, with the materials stretched and blurred, and the button layout becoming unsuitable for operation on a large screen - think of an iPhone with a 5-inch screen, you will definitely not be able to click the back button.

[[126146]]

The layout of iOS apps is still difficult to click on the buttons on a 4-inch iPhone 5, let alone on a 5-inch Android phone.

Generally speaking, one of the main reasons why Android apps are not of high quality is that they are not written in accordance with Google's Holo design specifications, which is particularly obvious in China. You ask why foreign apps widely use Holo specifications? That's because Android phones were not very popular in foreign countries before the release of Android 4.0. After the release of Android 4.0 and Holo specifications, Android began to explode in the market again and again, and foreign software vendors began to pay attention to it, and naturally chose to write apps in Holo. In addition, Google's influence in foreign countries is much greater. Everyone knows that if its Android app looks like iOS, Google will not be able to put it in the recommended position of the Play Store - hanging the North Korean flag in South Korea is not a death wish.

Most apps are still developed using Java

There are many opinions such as "Android is based on Java" and "Android Apps are developed using Java", but in fact, this statement is biased. Google released the Android NDK (Native Development Kit) a long time ago, and developers can use the C language to write Android Apps in NDK.

[[126147]]

Using NDK to develop Android App will greatly improve efficiency

The benefit of using C language to write Android App in NDK is obvious, that is, the performance is greatly improved. How much is the performance improvement? As high as three or four floors. In the performance testing software CF-Bench, the performance based on NDK is more than three times that based on SDK (that is, the development kit using Java), which is amazing. It can be said that only by using NDK can the performance of Android devices be maximized.

[[126148]]

Android apps written with NDK are much faster than those written with SDK

NDK has many benefits, but it is not very popular among developers. First of all, compared with SDK, NDK can only do limited things. It is difficult for programmers to develop an Android App in pure C in NDK. In the end, they still have to use Java to implement some functions, which adds to the difficulty of Android development. Secondly, the compatibility of Android Apps developed using NDK is often not as good as that of Android Apps written in Java in SDK. After all, Apps written by SDK are supported by Davilk virtual machine and do not need to communicate directly with hardware. At present, there are many Android hardwares, and there are only a dozen ARM manufacturers. There are two major camps of ARM and X86. Using SDK is indeed a wiser choice.

[[126149]]

The mobile market is divided into two major hardware camps: ARM and X86. There are many manufacturers in ARM, which is more chaotic than the Seven Kingdoms.

Using Java to develop Android apps is certainly convenient, but it can also easily lower the quality of Android apps. Although the Android system uses the Davilk virtual machine to run Java, which is much more efficient than the JVM of non-intelligent platforms, it is still not comparable to NDK. If you blame Android apps for being slow, a large part of this resentment should be fed to Java. Java has its own memory recycling mechanism, so developers often do not pay attention to controlling memory leaks when using Java to write Android apps (especially some small software). When its process exceeds the threshold allocated by the Davilk virtual machine, it will be killed by the system to release memory, which may cause the App to crash, the system to freeze, etc.

It’s not that Java can’t write quality apps, but it does cause problems.

In general, it is not that there is no efficient code on Android, but the fragmented hardware makes developers rarely consider NDK, and Java, which is prone to problems, is still widely used. So what kind of Android apps are most commonly developed using NDK? The answer is large games. Anyway, the texture data packets must be matched to the hardware, and it is not bad to save effort in the main program, not to mention that games have high requirements for code efficiency. If you see that the Android version of the same game is more laggy than the iOS version, it is often because the Android hardware is too low - the graphics performance of iOS devices is much higher than that of Android devices.

Poorly managed Google, chaotic ecosystem

In the final analysis, all apps are written by people. Even if your Android app does not use the Holo framework or NDK, as long as you develop it carefully, it can still become a masterpiece. However, the atmosphere of the Android platform is not very good, and there is a tendency for bad money to drive out good money. The chaotic ecosystem has a lot to do with Google's poor management.

Google Play is the safest and most standardized Android market. It is the model of Android market. I believe no one will disagree with this. However, even such a formal, big-name market managed by Google itself is still full of apps that abuse high permissions, embed malicious ads, and rely on cheating to get to the top. Even the official market is like this, what can you expect from the third-party market?

When I was writing an article, I could easily find this kind of app. The name was tempting, and the permissions were full of murderous intent.

There are many high-quality apps on the Android platform, but the low-quality apps can easily overwhelm the well-developed ones. You ask me why no one develops high-quality apps? Well, let's take a look at how good apps are eliminated.

If you are an individual developer, then conservatively speaking, it takes three months to develop a high-quality Android app, and then the App is put on the Play Store and quickly spreads widely. A few days later, you suddenly find that your App has been pushed down by a ranking troll, and you have not received any money. Looking back, your App has been extracted from the system, unpacked and repacked, and a large number of malicious plug-ins have been added, and it has been circulated in various channels outside the Play Market.

[[126151]]

Add some ingredients to the Android App, and you can make money quickly without much effort

So after many users installed this rigged app, their personal information was stolen, and the perpetrators made a small fortune by selling user information - all kinds of scammers were rushing to buy personal information. So you changed your mind and thought, this is how to make money quickly on Android, and then you stopped developing quality apps and turned to unorthodox methods - writing phishing apps to rank high is just a piece of cake, why bother so much.

It's like you have a conscience and don't do anything sneaky, but you can't make a living just by your heart. When you get discouraged, you will naturally stop updating and switch to the more reliable iOS platform. As long as your App is good, Apple will treat you well. You can say that Apple's 30% commission is too much, but you can't say that Apple takes money and does nothing.

Apple's App Store's healthy ecosystem is unmatched by Android

To be honest, if a company is not strong and powerful, it is difficult to survive on the Android platform for a long time; even if it sticks to the Android platform, it is just a dual cultivation, and the money still comes from the Apple App Store. Can eating gutter oil and drinking toxic milk powder beat the big man who eats beef every day? Compared with Apple, the difference between Android's ecosystem is the difference between the environment in Beijing and the sky in Tibet.

Afterword

At the system level, Android has many features that are not inferior to iOS, and even make iOS envious and jealous. However, in terms of App quality, it is too early for Android to be on par with iOS - if the software ecosystem of iOS is a greenhouse, Android is still in the era of slash-and-burn farming. Android is still developing rapidly and bursting with vitality again and again. Many people believe that Android has the potential to surpass iOS. However, if the quality of Android Apps continues to fail to improve, it is estimated that Android can only remain submerged and be accused of shoddy products.

<<:  Overview of Java Tools and Technologies in 2014

>>:  To programmers: 8 reasons why users hate your mobile app

Recommend

Lessons on how to make money that ordinary people can implement

Course List Lesson 1-The relationship between bac...

Tips for Weibo promotion and traffic generation

Weibo can be said to be a big brother-level platf...

How to use classified information network to quickly increase followers?

I just came from my hometown recently and started...

A must-read for APP operators, 108 examples of marketing tactics!

Introduction: In the recent Double Eleven e-comme...

Weibo advertising creative optimization skills, placement and traffic generation

I believe most advertisers are very familiar with...

Beijing thunderstorm 8-level gale and hail is coming! Please take precautions

Beijing Meteorological Observatory issued a blue ...

Trivia | Eight must-check websites before getting married

One minute with the doctor, the postures are cons...

Don’t treat erythromycin ointment as a “national miracle drug”

Whether it is mosquito bites, acne, allergies, or...