Optimize and Secure Your Android App
These educational materials are for intermediate to advanced Android developers, who are familiar with Android Studio, Android NDK and have some knowledge of C or C++.
Optimize Performance in C/C++ with Arm Intrinsics
Neon and SVE2 Intrinsics are a set of C/C++ functions whose precise implementation is known to the Arm compiler and GCC. They eliminate the need to write in assembly to optimize performance-intensive pieces of code, for the underlying architecture.
Video Tutorial on How to Use Neon Intrinsics
- This is a hands-on video tutorial, showcasing the steps to take to get started using Neon Intrinsics on Android.
Learning Path on Getting Started with Neon Intrinsics
- This is a hands-on written tutorial for beginners, with a step-by-step guide to what a developer needs to do to use Neon Intrinsics on Android.
Get Started with Scalable Vector Extension 2 (SVE2) Intrinsics on Android
- This is a hands-on Learning Path tutorial, that walks you through how an app calculating the fused multiply-add (FMA) is implemented using SVE2 Intrinsics on Android NDK.
Optimizing C/C++ Code with Neon Intrinsics Developer Guide
- This developer guide uses several examples to showcase and explain the use of Intrinsics.
Case Studies, Examples and More Documentation
- Several intermediate-to-advanced case studies, as well as other documentation detailing how to use Arm Neon and SVE2 architecture Intrinsics for C/C++.
Optimize Thermal and CPU Performance with Android Dynamic Performance Framework (ADPF)
Follow the tutorials to learn how to use specific Vulkan features.
- GitHub repository containing performance samples and code examples from which to start your development.
- A tutorial with sample code that shows how a Vulkan application can control the compression of images.
- Get started and learn how to enable Arm Fixed Rate Compression (AFRC) to improve performance.
- Tutorial sample code on how to use deferred shading with the Vulkan API. A 14-minute read.
- A practical sample explaining async compute to efficiently utilize hardware resources available on a modern GPU. A 10-minute read.
Also check our Android R Vulkan Extensions on Mobile: Timeline Semaphores, Descriptor Indexing and Buffer Device Address.
Improve the Code Quality and Stability with the Memory Tagging Extension (MTE)
MTE is an Armv9 CPU feature, which identifies memory-related vulnerabilities to improve the security of connected devices.
Debug with MTE on Google Pixel 8
- Learn how to recognize common memory safety bugs in Android apps, and set up your Android application for debugging in Android Studio with MTE.
Hands-on Learning Path: Using MTE on Pixel 8
- Getting Started tutorial, with a step-by-step showcase on how to enable and use MTE on Pixel 8.
Video Tutorial: Using MTE on Pixel 8
- The video introduces MTE, how it works and the importance of it. Afterwards, it showcases live the steps you need to do to enable MTE, as well as covers the background.
- An in-depth user guide on the background information, as well as how to use MTE, how but reports are provided, how to debug with Android Studio and how to integrate MTE with memory management systems.
Accelerate Your Projects With the Arm Developer Community
The Arm Developer Program connects a global community of developers with expert insights, cutting-edge tools, and exclusive resources. Join to explore the latest trends, get early access to software and demos, attend expert-led sessions, and collaborate with peers solving real-world challenges.