As the android ecosystem continues to grow, developers now need to adapt to various devices. They now have to consider devices like foldable screens, large-screen phones and tablets. As the screen gets bigger, the screen ratios also vary widely. This means that developers will have to put in more work in this area. It is no longer plausible to just design an app with specific specifications and expect it to work perfectly across the board. An app designed for a 6-inch mobile phone may not work perfectly on a 10-inch tablet. An app design for a book-like foldable phone may not work perfectly on a flip phone.
Also, during the development process, Android apps will be designed for various scenarios where they may be of use. For example, if you want to scan a code, you need to call the camera. The premise of this function is that it must meet the hardware requirements of “having a camera”. This leads to a problem: most developers do not deliberately distinguish between these apps for different models. They are more likely to directly provide all the functions that users may use in their daily lives in one app. As a result of this, some hardware requirements that apply to a specific device are also present in other devices.
A common example of this issue is the design of apps specific to touchscreen devices and devices with cameras. These apps may work well for mobile phones and tablets which almost always come with a touchscreen and camera. However, some smart TVs and projectors based on Android systems do not come with cameras and touch screens. This means that many regular apps often do not work on these devices because of the hardware limitation.
Therefore, google posted an article on the Android Developer Blog to remind developers that they should delete certain unnecessary functional requirements to improve the usability of apps on different types of devices. Google believes that developers should adopt more flexible solutions. They should make these features “optional” rather than “required” when possible. For example, even if a device does not have a camera, it should support the use of the app because users can upload photos through other methods.
This is crucial for Google. After all, there are relatively few apps available on laptops, car systems, and other non-touchscreen IoT devices. However, developers generally don't have the energy to adapt to these devices. After all, the number of users of such devices is too small. In addition, Google also reminds App developers to flexibly handle horizontal or vertical screens. For example, currently, large car screens are generally horizontal. There are currently many apps that cannot be used on cars because they do not support such screens. Even if it does not support automatic rotation, this results in a very poor user experience.
Gizchina News of the week
Reducing Hardware Requirement
To reduce hardware requirements for Android development, developers can consider the following strategies:
- Consider making all apps support both vertical and horizontal display
- Supports multiple display resolution
Hardware Requirements for Android Development
Google recommends the following hardware requirements for Android development:
- A 64-bit environment for Android 2.3.x (Gingerbread) and higher versions.
- At least 250GB of free disk space to check out the code and an extra 150GB to build it.
- At least 64GB of RAM is recommended, as lower amounts may lead to builds being OOM killed.
- App workability should not be tied to certain hardware
- Camera and touchscreen availability should not be a criterion for the app to work
While some developers have reported that an i5 processor with 4GB of RAM works well for Android development, it is advisable to meet the recommended requirements for optimal performance.
Utilizing Hardware Acceleration
Developers can leverage hardware acceleration to increase performance. This can be achieved by enabling hardware acceleration for 2D graphics, which instantly enhances the application's performance.
Code Optimization and Resource Shrinking
Utilize tools such as the R8 compiler and resource shrinking to optimize code and remove unused resources from the packaged app. This can help reduce the overall size of the app and improve memory usage.
Proactively manage the app's memory by reducing the overall size of the app, including bitmap size, resources, animation frames, and third-party libraries. Modern code-shrinking methods, such as R8 compilation, can be used to achieve this.
By considering these strategies, Android developers can reduce hardware requirements and optimize the performance of their applications.
In recent times, the Android system has now available on several devices including smart TVs, watches, car screens and so on. These are not the regular devices like mobile phones and tablets that used the Android system in the past. Most Android apps can not work properly on the first set of devices. The reason for this is because most of these apps are designed for mobile phones and tablets. Google is now advising developers to reduce their app's hardware requirements. This is to allow the app to work on a wider range of devices. However, this will be more work on the part of the developer.
Efe Udin is a seasoned tech writer with over seven years of experience. He covers a wide range of topics in the tech industry from industry politics to mobile phone performance. From mobile phones to tablets, Efe has also kept a keen eye on the latest advancements and trends. He provides insightful analysis and reviews to inform and educate readers. Efe is very passionate about tech and covers interesting stories as well as offers solutions where possible.