Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 20
  1. New roots, same Square

    Exactly one year ago, after 12 years in San Francisco, I moved back to France.

  2. The SQLDelight documentation provides this example: val players: Flow<List<HockeyPlayer>> = playerQueries.selectAll() .asFlow() .mapToList(Dispatchers.IO) This looks reasonable, right?

  3. Exploring heap dumps I have investigated many heap dumps over the years, and I usually switch back and forth between two tools: YourKit Java Profiler to poke around the heap and look for interesting things (ask your company to buy a license!)

  4. In this article I run the new LeakCanary toolkit against the Slack Android app.

  5. A weirder HashMap

    Today I was mob programming with Square's Mobile & Performance Reliability team and we toyed with an interesting idea.

  6. Dependency Injection libraries are powerful tools, but they're often also intimidating & confusing.

  7. I'm writing a blog series on ANR internals, where I'll use ANRs as an excuse to learn more about how various parts of Android work.

  8. In Statistically Rigorous Android Macrobenchmarks, I laid out a methodology for rigorously comparing the outcome of two Jetpack Macrobenchmark runs.

  9. In this article, I show how Android memory leaks lead to jank, freezes and ANRs more often than they lead to OutOfMemoryError crashes.

  10. 👋 In this article, I summarize my findings on Android app launch after a few years of deep dives, with the hope that these guidelines help implementations track app launches correctly.

  11. 👋 Hi, this is P-Y, over the last three years I've been steering Square's focus on mobile performance and building a framework for thinking about it and prioritizing work.

  12. TL;DR Avoid doing this: new HashMap<String, String>() {{ put("key", value); }}; Leak Trace I was recently looking at the following leak trace from LeakCanary: ┬─── │ GC Root: Global variable in native code │ ├─ com.bugsnag.android.AnrPlugin instance │

  13. 👋 Hi, this is P.Y., I work as an Android Engineer at Block.

  14. 👋 Hi, this is P.Y., I work as an Android Engineer at Block.

  15. 👋 Hi, this is P.Y., I work as an Android Engineer at Block.

  16. 👋 Hi, this is P.Y., I work as an Android Engineer at Block.

  17. WhileSubscribed(5000)

    👋 Hi, this is P.Y., I work as an Android Engineer at Block.

  18. 👋 Hi, this is P.Y., I work as an Android Engineer at Block, the rockey company formerly known as Square.

  19. 👋 Hi, this is P.Y., I work as an Android Engineer at Block, the non-fungible company formerly known as Square.

  20. Summary This blog shows how to fix simpleperf traces which are otherwise unusable because they include samples with truncated callchain roots.