Technical articles
-
Chip knowledge for Android developers juejin.cn/post/702506…
This article focuses on the following questions: What exactly is the Android dynamic library adaptation adapted to? The relationship between CPU, architecture, instruction set and chip; What’s the A in ARMV7A? What is the core technology and threshold of chip?
-
Take you hand in hand to build an excellent Android project architecture juejin.cn/post/702337…
Articles include: Kotlin syntax, Jetpack: Mainly ViewModel, LifeCycle, LiveData, Room, ViewBinding, Kotlin coroutines, thinking about where there might be thread synchronization problems caused by multi-threading and how to deal with them, Retrofit+OkHttp, MultiType, MMKV Etc.
-
MVVM Advanced edition: MVI architecture juejin.cn/post/702262…
MVI has the following advantages:
- Emphasize the one-way flow of data, making it easy to track and trace state changes
- Using ViewState to centrally manage State, you only need to subscribe to a ViewState to get all the State of a page, which reduces a lot of template code compared to MVVM
- The ViewModel communicates with the Action through ViewState. You can clarify the responsibilities of the ViewModel by reviewing the ViewState and Aciton definitions, and can be used directly as an interface document.
-
What kind of questions should you ask in an Android interview? Juejin. Cn/post / 702350…
“The purpose of an interview is to discover the best, asking questions is just the means. Business knowledge, communication skills, etc., the most important is the idea and expression, no means no, do not prevaricate.”
It seems that the subsequent discussion should be more similar issues to form a series of precipitation down
-
Android Call chain — Automated precision testing juejin.cn/post/702284…
Automated precision testing refers to automatic and accurate testing of the changed part of the code in each MR, so as to improve the quality assurance of the code and reduce the cost of testing
This paper first introduces the evolution of automated precision testing, and what problems we encountered in the process of automated precision testing, and their solutions; Secondly, this paper focuses on the role, nature and construction of The Android call chain in the process of automated precision testing, and introduces the optimization item of the Android call chain, that is, to customize the associated Activity based on Android features. The accuracy of Mr Change method associated with Activity is improved, so as to improve the recommendation accuracy of test cases, reduce unnecessary tests, and improve the test efficiency.
-
To get data and bind to the UI | MAD Skills mp.weixin.qq.com/s/W0T3BkMv5…
In the previous introduction to Paging 3.0 article, we discussed the Paging library, saw how it could be integrated into the application architecture and integrated into the data layer of the application. We used PagingSource to get and use data for our application, and PagingConfig to create Pager objects that provide Flow for UI consumption. In this article I’ll show you how to actually use Flow in your UI
-
Dynamic tracking technology: Linux celebrate DTrace: zhuanlan.zhihu.com/p/24124082
Considering that this set of weapons is extremely complex, it is an expert skill, advanced Performance Analysis and Troubleshooting Tool. This skill is said to take around 100 + hours to master, so unless you are obsessed with system performance issues and have a perverted technical mania, I recommend bypassing this article.
-
Deep understanding of Flutter graphics rendering principle – graphics library skia analyze segmentfault.com/a/119000003…
Flutter is a popular cross-platform UI framework with skia as its cross-platform cornerstone. This paper will deeply analyze the rendering principle of skIA graphics, fonts and pictures, how to mine the hardware features and provide ideas for UI performance optimization
-
Tips: 10 minutes to master Java performance analysis segmentfault.com/a/119000004…
Java performance analysis is an art and a science. Science means that performance analysis generally involves a lot of numbers, measurements, and analysis; Art refers to the use of knowledge, experience and intuition. Performance analysis tools and methods vary widely, but the process of performance analysis varies widely. This article shares some known Java performance analysis tips to help users better understand and apply them.
-
How Trello Android converted from Gson to Moshi blog.danlew.net/2021/11/01/…
This article describes the process of switching the JSON parser library from Gson to Moshi, and explains why: Safety, Speed, and Bad Life Choices.
-
Three Systrace series articles related to response speed were uploaded to the official wechat account
- Systrace response speed of actual combat 1: understand the response speed principle mp.weixin.qq.com/s/DpeBc1fGo…
- Systrace response speed of actual combat 2: practical analysis – to start the response speed for example mp.weixin.qq.com/s/duLdkADjV…
- Systrace response speed of actual combat 3: response speed extension knowledge mp.weixin.qq.com/s/sFaiQnije…
-
Mp.weixin.qq.com/s/fB0IILuBB quickly Android memory allocator optimization to explore two (2)…
This article will analyze the principle of Jemalloc in depth, and introduce Google’s custom optimization in the Android platform, mining more memory limit optimization space
-
Strong learning lamp APP compile mp.weixin.qq.com/s/sKMxPxD5L memory management…
With the vigorous development of learning lamp business, the deterioration of client compiler is more and more serious. Sync projects can take up to five minutes to compile locally, and GC over Limit errors are common, which can seriously affect development efficiency. CI compilation often takes more than 20 minutes, which seriously affects the efficiency of code combination. This paper introduces how the team managed the memory problem at compile time. The effect is very significant, which not only solved the problem of local compilation, but also improved the speed of CI compilation.
-
Room & Kotlin symbol processing mp.weixin.qq.com/s/DAroTRQwT…
This article is not about annotation processing, Room, or KSP. Rather, it highlights the challenges and trade-offs we faced in adding KSP support to Room. You don’t need to know Room or KSP to understand this article, but you do need to be familiar with annotation processing
-
Several methods of Linux memory footprint analysis mp.weixin.qq.com/s/d1RC3I_Mv…
Commands include
- The free command
- The vmstat command
- The/proc/meminfo command
- The top command
- Htop command
- Look at process memory information
-
Use the Jetpack Macrobenchmark to use case benchmarking developer. The android, Google. Cn/studio/initial…
With Macrobenchmark, you can write startup and runtime performance tests directly for applications running on devices running Android 10 (API 29) or higher.
It is recommended that you use Macrobenchmark with the latest version of Android Studio (2020.3.1 Beta 4 or later), as this version of the IDE provides new features that can be integrated with Macrobenchmark. Users of earlier versions of Android Studio can follow additional instructions later in this topic to work with trace files.
-
Load_balance function scenario analysis mp.weixin.qq.com/s/CjxUsg-4A…
This paper is mainly divided into three parts, the first part is this chapter, a simple description of the structure of this paper and reading prerequisites. The second chapter describes the data structure of the load_balance function. This chapter is not required reading, but you can refer to the specific functions of individual members of several major data structures if necessary. The following sections take the load_balance function as the main thread and analyze each logical process line by line.
It should be emphasized that this article is not written independently, and there are many basic knowledge of load balancing (such as Sched Domain, Sched Group, what is load, running load, utilization utility, what is balancing……). CFS task load balancing was described in the first article in the series and is highly recommended if you haven’t read it. If you’ve covered the basics of load balancing, I hope this article has been fun reading code.
-
Android 12 SplashScreen – SplashScreen juejin.cn/post/702618…
App Splash screens – Android 12 also brings a new splash screen to all apps. Apps can also customize the splash screen in a variety of ways to show off their unique brand personality.
Non-technical article
-
$10 million for an NFT pixel head? The monkey can understand it mp.weixin.qq.com/s/Ey7sDPpCX NFT guide…
It’s time to get an NFT
-
The M1 Pro for Android Engineers gpeal.medium.com/the-m1-pro-…
In general, Android development with M1, M1 Pro, M1 Max is perfectly fine (except Android development), one more reason to buy M1 Max, Wait for @flyWith24’s M1 Max to be evaluated and the virtual machine to compile Android source code
-
With the Jetpack throw things live line 】 【 Compose an hour to write an App mp.weixin.qq.com/s/dpsOn1Crt…
Android’s latest official UI framework, Jetpack Compose, has just been released and is gaining popularity. On November 8, Kai Zhu, an official Google certified Developer for Android & Kotlin, will be hosting a livestream of Compose. Don’t miss it!
-
2021 Kotlin Chinese Developers Conference, see you online on November 6th! Mp.weixin.qq.com/s/RkDxMH4tI…
Develop Weekly
- Android Weekly – 490 Androidweekly.net/issues/issu…
- Kotlin Weekly – 274 Mailchi. Mp/kotlinweekl…
- Software Testing Weekly (Issue 44) : “Is it OK to go that far?” “No problem. The road was straight, the sun wasn’t setting, the tank was full Mp.weixin.qq.com/s/hdpTusm_G…
- Now in Android #50 — ADS Recap Part 1 Medium.com/androiddeve…
- Graphics Programming weekly – Issue 207 – October 31, 2021 www.jendrikillner.com/post/graphi…
Podcast
-
Now the Android in www.youtube.com/watch?v=0pu…
-
ByteTalk
- Talk to some friends about programmers www.xiaoyuzhoufm.com/episode/617…
- From programmer to diver, talk with Zhao Qing about his journey www.xiaoyuzhoufm.com/episode/618…
-
AAA 549: Thumb Yoga – Android 12L, Pixel 6 review, Magic Eraser for all, Tasker saves the day, The next Tensor podcasts.google.com/feed/aHR0cH…
Books recommended
-
Crafting Interpreters CraftingInterpreters.com For those interested in implementing a programming language, we recommend a book called Crafting Interpreters. Craftinginterpreters.com is written very well. This book takes Lox language as an example, talking about the implementation of two interpreters. The first one uses Java to walk along the AST to give people a basic idea of what the interpreter does. The second one uses C language to write a virtual machine to execute the compiled bytecode, focusing on efficiency. The interpreters implemented in this book use only the Java and C standard libraries. Lexical analysis, syntax analysis, garbage collectors, and even hash tables teach you how to write one step from theory to practice.
-
Draveness. Me/Whys-the-de…
Why’s THE Design is a series of articles about programming decisions in THE field of computing. In each article in THE series, we ask a specific question and discuss THE advantages and disadvantages of this Design from a different perspective, and its impact on THE implementation
Tools recommended
-
IconKitchen
- Homepage: icon. Kitchen /
- An online tool for creating ICONS for Android, iOS, and Web developers. Easy to use, no longer need to always use the default icon when writing demos
-
Github Copilot: Your AI programming companion
- The current stable version of AS cannot be installed, you need the Canary version
- AS plug-in shops are still not making Copilot, need to download the plug-in from jetbrains, then the local installation (plugins.jetbrains.com/plugin/1771… You need to log in to Github (to be authorized, you need to have a Github Copilot trial invitation, you can go to its website to apply for copilot.github.com/).
- Installation and use process, the need for network comparison “smooth”, DDDD
- Comments (including class comments and function comments) and function names are very important
- Liverpoolfc.tv: copilot.github.com/
Beat chicken blood regularly
How do people become obsolete?
New technology exchange groups
The previous wechat group is full, you can scan the code to join the new one
This group is designed to discuss Android and related technical topics, Including but not limited to Android performance optimization topics (response speed, fluency, ANR, Crash, memory, power consumption, performance monitoring, etc.) Android App development, Framework development, Linux, big front end, interview sharing, technical recruitment and other topics
In view of the group of the leaders of the time are very precious, we chat as far as possible with the above theme related, prohibit blowing water, installed, buying machines, mobile phone manufacturers advantages and disadvantages of the discussion…… Otherwise, the group will be labeled as water group. We hope that we can jointly maintain the group atmosphere
In addition, there are chatting water blowing group, running group, reading group, which we can play at will, I can pull in private
Other information
- Blog: www.androidperformance.com/
- Free planet knowledge: t.zsxq.com/ZZ337Am
- Zhihu address: www.zhihu.com/people/grac… (You are welcome to praise each other.)