Technical articles

  1. Ormlite – android bug in WAL mode analysis www.yuque.com/shawon/dev/…

    After switching the Logging mode of SQLite from ROLLBACK Journal to WRITE-Ahead Logging (WAL), some functions of the App are found to be abnormal: Ormlite-android does not correctly report the number of database rows changed by the update operation

  2. Deep understanding of consistency with the c + + memory model mp.weixin.qq.com/s/wt5b5e1Y1…

    This paper aims to give a systematic and simple introduction to the consistency model in computer science and the memory model in C++. There are three chapters: chapter 1 introduces the consistency model, chapter 2 introduces the C++ memory model, and chapter 3 is reference

  3. Now in Android #49 medium.com/androiddeve…

    Android Dev Summit, Android Basics, Compose for Wear OS, Paging, CameraX, Accessibility, AGP, Widgets, and more!

  4. Better Android Apps Using latest Advanced Architecture medium.com/lukohnam/b…

    Build an App using the latest Android official recommended architecture and Jetpack library

  5. Again with Coroutine Lifecycle Stalker mp.weixin.qq.com/s/-JQSXXvzg…

    “Most of the time we use Components for JetPack without having to think specifically about Lifecycle thanks to the Lifecycle Aware feature of most JetPack components, LifecycleScope and ViewModelScope can release resources automatically at the end of a Lifecycle. Lifecycle is the backbone of the JetPack component, and most of the time, you can control the Lifecycle right out of the box with very little configuration. Activities can play an important role in AAC architecture as LifecycleOwner, so how does an Activity relate to Lifecycle?”

  6. Introducing Kotlin Multiplatform in an existing project www.marcogomiero.com/talks/2021/…

    “After discovering a new and interesting technology or framework, you might start asking yourself how to integrate it into your existing projects. This is because the likelihood of starting with a blank canvas is rare (not impossible, but rare). The same goes for Kotlin multiplatform, which is still in alpha, but you can already start using it in production applications. In this lecture, you will learn which parts of the code can be used as a starting point for sharing, how to consume shared code, and how to build an existing project so that there is as smooth an integration as possible.”

  7. Kotlin Flows in practice www.youtube.com/watch?v=fSB…

    Since Coroutines is the recommended solution for asynchronous operations, Kotlin Flow is an obvious choice for managing data flows in Android applications. However, to get the most out of Flow in Android, you need to consider some lifecycle hazards and learn about new lifecycle aware apis. Learn about the powerful and expressive Flow APIs and how to use them in a practical way across all layers of your application — addressing common use cases that every developer may face

  8. Design to Code: Turning handoffs into high-fives www.youtube.com/watch?v=CMC…

    Explains how designers and developers can work together better: by combining Figma with Jetpack Compose, you can quickly turn your design into Jetpack Compose code.

    Learn how this workflow can bring components designed in Figma to Jetpack Compose projects, using a portable container format called a UI package. By capturing semantic design intent beyond boxes and text, UI packages support ergonomic integration into Compose applications. Developers wire in data, provide behaviors, and control presentation using idiomatic Compose code. Deep integration with Android Studio makes build configuration and change management a snap.

  9. Byte Android Native Memory Corruption tool mp.weixin.qq.com/s/1idU9IrQQ principle and practice…

    AppHealth (Client Infrastructure – AppHealth) A team developed for the location of wild Pointers (UseAfterFree), memory overflow (HeapBufferOverflow), duplicate release (DoubleFree) class problem detection tool. It is widely used for online problem detection of bytedance’s major APPS. This article will introduce the tool through solution principles and practical cases.

  10. The RCU mechanism in the Linux [2] – GP processing mp.weixin.qq.com/s/0SI2VYao_…

    GP is short for Grace Period. This article mainly reduces the life cycle of GP from birth to end

  11. Nubia Technical Team – Android input event flow sharing

    1. Android share input event processing (a) www.jianshu.com/p/15660b270…
    2. Android share input event processing (2) www.jianshu.com/p/e28e22716…
    3. Android share input event processing (3) www.jianshu.com/p/3afb58d2a…
  12. Introducing Pathways: A Next-generation AI Architecture Blog. Google/Technology /…

    Corresponding Ted Talks: www.ted.com/talks/jeff_… Pathways– a new AI architecture that will tackle many tasks at once, learn new tasks quickly and reflect a better understanding of the world.

    I don’t understand, but I was blown away

  13. Jetpack Compose with Material You www.youtube.com/watch?v=5t4…

  14. The Paging 3.0 introduction | MAD Skills mp.weixin.qq.com/s/57KTSyW8N… Paging 3.0 is introduced with emphasis on how to integrate it into the application data layer

  15. Using Jetpack in Compose component library mp.weixin.qq.com/s/adp5jOlHT…

    Jeptack Compose is mainly used to improve the development efficiency of THE UI layer, but a complete project needs the cooperation of the logical layer and the data layer. Fortunately, many of the component libraries in Jetpack have already been adapted with Compose, and developers can use these libraries for non-UI functions.

  16. KMM survival diary 3: the Jetpack architecture components transplantation of failed attempts mp.weixin.qq.com/s/yKZp5zGgA…

    “Last time I mentioned MVIKotlin was hard to use because Jetpack AAC is so easy to use. I decided to manually port Jetpack AAC to KMM. Since LiveData can be replaced with Kotlinx.coroutines StateFlow/SharedFlow, Lifecycle and ViewModel can theoretically be ported, Lifecycle annotating a function so that it will run at the time of execution of the corresponding Lifecycle will also be temporarily emasculated because the annotation processor will have to use KCP in order to be usable on the KMM platform which is difficult.”

  17. Two articles on Native code debugging

    1. CLion debuts Android 11 Native code Blog.csdn.net/iamdy/artic…
    2. Android Native debugging has been hard for a long time Mp.weixin.qq.com/s/pYdF_b-Z7…
  18. Binder | proxy object leak and its detection juejin. Cn/post / 702443…

    Memory leaks are one of the most important reasons for the OOM. In the context of a memory leak, it is not the GC algorithm that causes unreferenced objects not to be reclaimed, but objects that are no longer logically needed by the program are still referenced. For Binder communication, Binder objects sent by the Server to the Client process are converted into BinderProxy objects. If the Server sends many different Binder objects to the Client process in a short period of time, Many BinderProxy objects are also created in the Client process. These objects consume the memory of the Client process and can cause “global Reference table overflow” problems in earlier versions. This BinderProxy overcreation is known as the leak of Binder proxy objects, which affects system_server in particular. Because system_server (Client) receives Binder objects from various APP processes, if each process sends many Binder objects, the system_server memory will run out. As for why APP processes send many Binder objects to system_server, this is either malicious behavior or a programming bug that needs to be banned.

Non-technical article

  1. How to evaluate an open Source project (I) – Activity blog.frankzhao.cn/how_to_meas…

    “There are still a lot of issues with mobility, especially with continued large-scale computing and scalability. However, due to its intuitive, easy to understand and strong explanatory, it is still a widely used method of calculation in our laboratory. It has been implemented in many projects, but I would like to see better metrics and algorithmic frameworks that take advantage of the open source ecosystem and the web to measure projects more effectively.”

  2. How to spend two years interviewing someone mindhacks.cn/2011/11/04/…

    Liu weipeng’s 2011 article is worth reread, for recruiters and job candidates alike

  3. CoolShell three articles on hiring programmers

    1. How do I hire programmers Coolshell. Cn/articles / 18…
    2. How DO I Hire Programmers? Coolshell. Cn/articles / 45…
    3. How DO I hire Programmers? Coolshell. Cn/articles / 44…

All kinds of Weekly

  1. Androidweekly.net/issues/issu…
  2. Androidweekly.net/issues/issu…
  3. Mailchi. Mp/kotlinweekl…

Personal Blog Updates

Personal blog updated five articles (polished and then sent to other platforms, welcome correction)

  1. What should be in a book about Android fluency? www.androidperformance.com/2021/10/27/…
  2. Android system development series (1) : Android 12 source code download, compile and brush www.androidperformance.com/2021/10/26/…
  3. Systrace Response speed Combat 1: Understand the principle of response speed www.androidperformance.com/2021/09/13/…
  4. Systrace Response Speed Combat 2: Response speed Combat analysis – Take start speed as an example www.androidperformance.com/2021/09/13/…
  5. Systrace Response speed Combat 3: Response speed extension knowledge www.androidperformance.com/2021/09/13/…

A podcast is recommended

  1. With a few of flying book friend talk about programmers that www.xiaoyuzhoufm.com/episode/617… Lifecycle stalker again
  2. Productivity with TODO Apps and Personal Knowledge Management Systems Podcasts.google.com/feed/aHR0cH…

Android Update

Google has officially announced Android 12L

Android L

The “L” here stands for Large Screen, and in addition to foldable/dual-screen phones, Android tablets from some Oems will debut with some of the new features in the system.

  • Including the lock screen, the notification center has adopted a two-column design.
  • The app bar has a Chrome OS-like style.
  • The split screen operation logic of Windows 10-like applications is slightly different from the original split screen operation logic of existing Android applications.
  • Provide compatibility mode for Android apps that don’t fit (essentially, display at regular Android screen scale).
  • Provides a smoother continuous way to switch from small screen to large screen on foldable devices.
  • 12L is optimized for large-screen devices and foldable screens. When the screen width is larger than 600DP, two columns of content will be displayed by default. Chrome OS-like Dock and drag-and-drop split-screen features are also introduced.
  • The emulator for Android 12L has been released. If you want to try it out, you can download the latest preview version of Android Studio. The official update will be released next year. With Android 12L comes Material Design 3 (Material You) documentation and component libraries.

Relevant pages: developer.android.com/about/versi…

tool

Github Copilot

Github has released a new intelligent assistant called Copilot. The website is copilot.github.com, which claims to be “Your AI pair Programmer “.

GitHub Copilot is an AI pairing programmer that can help you write code faster and work less, according to its website. GitHub Copilot extracts context from comments and code and immediately suggests individual lines and entire functions. GitHub Copilot is powered by OpenAI Codex, a new AI system created by OpenAI. The GitHub Copilot Technology Preview is available as an extension to the Visual Studio Code, Neovim, and JetBrains IDE suites

According to the feedback from the person who received the invitation, it is so damn good, as shown in the picture below, the blue part is written by him for you

  1. Convert comments to code :Write a comment describing the logic you want, and let GitHub Copilot assemble the code for you.
  2. Autofill for Repetitive code. : GitHub Copilot works great for quickly producing boilerplate and repetitive code patterns. Feed it a few examples and let it generate the rest!
  3. Tests without the toil :Tests are the backbone of any robust software engineering project. Import a unit test package, and let GitHub Copilot suggest tests that match your implementation code.
  4. Show me alternatives :Want to evaluate a few different approaches? GitHub Copilot can show you a list of solutions. Use the code as provided, or edit it to meet your needs.

The beautiful

The scenery in western Sichuan is really nice

About the manuscript

  1. I am just a porter of nature knowledge, welcome everyone to recommend or recommend, will be collected every week
  2. Welcome everyone to contribute to this public number, will indicate the author and source, you can bring private work, such as recruitment information