Android performance optimization (unreserved contributions from Alibaba, Baidu, Google, iQiyi and other big names)

Startup optimization is a commonplace issue in Android optimization. As we all know, Android startup refers to the process from when the user clicks on the icon to seeing the first interactive frame.

The startup process can be roughly divided into the following stages:

  • fork creates a new process
  • To create and initialize the Application class, create the four major components, etc., go to Application.onCreate()
  • Create launchActivity and complete the onCreate, onStart, and onResume life cycles

If you delve deeper and deeper into it, you can find a lot of "black technology" that can be operated. There are many solutions such as mutilDex optimization, message scheduling optimization, and json preheating.

In order to facilitate everyone to study more issues of Android performance optimization, I recommend to you a collection of practical Android performance optimization projects from teams such as Tencent, ByteDance, Alibaba, Baidu, NetEase, Meituan, Google, iQiyi, etc. to learn from Performance optimization technology from major manufacturers, check for leaks and fill in gaps. If you need it, click on the card at the end of the article to get it for free.

"2023 Latest First-tier Internet Companies Android Performance Optimization Project Practice" (including teams from Tencent, ByteDance, Alibaba, Baidu, NetEase, Meituan, Google, iQiyi, etc.)

Table of contents

Tencent team

  • Tencent Lighting and Shadow Research Laboratory—Smart Linkify for Android P
  • Tencent Bugly—Application of dynamically distributed so library in Android APK installation package slimming
  • QQ Music—Comprehensive understanding of browser caching strategies
  • The road to speeding up QQ Music Android compilation
  • National karaoke adaptation arm64-v8a solution
  • National Karaoke Memory Chapter 1 - Online Monitoring and Comprehensive Management
  • National Karaoke Memory Part 2 - A Brief Analysis of Virtual Memory
  • National Karaoke Memory Part 3 - Native Memory Analysis and Monitoring
  • Tencent Bugly—A little understanding of string matching algorithms

Byte Team

  • ByteDance technical team—In-depth understanding of one of the Gradle frameworks: Plugin, Extension, buildSrc
  • ByteDance technical team—In-depth understanding of the gradle framework Part 2: Dependency implementation analysis
  • ByteDance Technology Team—Scene: Android open source page navigation and combination framework
  • ByteDance technical team—AwCookieManager.nativeGetCookiecrash troubleshooting
  • ByteDance technical team—alternative BadTokenException problem analysis and solution
  • ByteDance technical team—Douyin package size optimization—resource optimization
  • ByteDance technical team—QR code scanning optimization
  • ByteDance—Analysis of Android Camera Memory Problems
  • Douyin BoostMultiDex optimization practice: APP first launch time reduced by 80% on lower Android versions
  • Douyin BoostMultiDex optimization practice: APP first startup time on lower Android versions is reduced by 80% (2)
  • Douyin Android performance optimization series: Java memory optimization
  • Toutiao Android 'second' level compilation speed optimization

Alibaba team

  • Alipay client architecture analysis: Android client startup speed optimization "garbage collection"
  • Alipay App build optimization analysis: Optimizing Android startup performance through installation package rearrangement
  • Alipay App construction optimization analysis: Android package size is extremely compressed
  • Solve the remaining problems of Alipay package size optimization: obtain dexpc at runtime
  • Xianyu Technology—Ever dreamed of traveling the world if-else? Take a look at the "responsibility tree mode" optimization
  • How did Xianyu double Android startup speed in 2 months?
  • Amap - Systematic solution to Android Native memory leaks
  • Tmall Elf Technology—The most comprehensive explanation of Android rendering mechanism in history (long source code in-depth analysis)

Baidu team

  • Baidu APP-Android H5 first screen optimization practice
  • Baidu App Technology—A simple and elegant TextView line spacing adaptation solution
  • Baidu App Technology—Introduction to Android 10 Partition Storage and Baidu APP Adaptation Practice
  • Baidu App Technology—Getting Started with Gradle and Android Building
  • The road to componentization of Baidu App
  • Baidu App Network Deep Optimization Series "3" Weak Network Optimization

Insert image description here

NetEase Team

  • NetEase News Client H5 Opens in Seconds Optimized
  • NetEase News Build Optimization: How to Make Your Build Speed ​​"Lightning"
  • NetEase Media Technology Team—AOP technology application and practice on the client
  • NetEase Big Data | Internet product decision-making tips: AB testing

Meituan Team

  • Meituan technical team—Android static code scanning efficiency optimization and practice
  • Meituan technical team—Probe: Android online OOM problem locating component
  • Meituan technical team—mobile UI consistency solution
  • Meituan—Exploration of the automatic code generation scheme for design drafts (UI views)

iQIYI Team

  • iQIYI technical product team - useful information | Android APP crash capture solution - xCrash
  • Android | iQiyi App startup optimization practice sharing
  • QR code scanning optimization and iQiyi App practice

google team

  • Google Developer—Flutter What you need to know
  • Google - Cancellation and exceptions in coroutines | Detailed explanation of exception handling

JD.com team

  • Jingdong Technology—The pitfall between arbitrary URL jump vulnerability repair and the getHost() method in JDK
  • Jingdong—LayoutInflater principle analysis and complex layout optimization practice

Sohu Team

  • Sohu Technology Products—In-depth understanding of Flutter multi-threading

Insert image description here

other

  • Huajiao Android-side automated testing practice
  • Open source | BoostMultiDex: Saving the Android Dalvik model APP upgrade and installation experience
  • Youzan Mobile Crash Platform Construction
  • Shell APP Top Experience Series | Android method time-consuming statistical tool
  • A method and practice for analyzing Android package size according to library dimensions


Guess you like

Origin blog.csdn.net/Eqiqi/article/details/132564514