)]}'
{
  "commit": "d86af0acfaf5a80b59aabc057f3790b2ccde36f4",
  "tree": "f7b1b34315abbef6a953aea63a0980e61ed4ca73",
  "parents": [
    "071cda3ef6ed0a50bdc54c3238d610d050c3cdc3"
  ],
  "author": {
    "name": "Pierre-Yves Ricau",
    "email": "py@squareup.com",
    "time": "Fri Nov 11 22:26:01 2022"
  },
  "committer": {
    "name": "Pierre-Yves Ricau",
    "email": "py@squareup.com",
    "time": "Wed May 17 03:29:41 2023"
  },
  "message": "Infinite ObjectAnimators caused Drawable leaks\n\nDrawable has an `mCallback` field that is a weak ref to the callback view. It\u0027s a weak ref as an attempt to prevent leaks ([change](https://cs.android.com/android/_/android/platform/frameworks/base/+/f2a47782f31b58d2d31bd00b50fe43604af8b9c2)). Unfortunately, when an object animator runs a drawable forever, the `mCallback` weak ref will be checked every frame and the callback reference held as a java local for a brief moment, which makes it really hard for the GC to collect the targeted object.\n\nFixes #2116\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "30a299a5b1ba4d942ab78a0f5d8f0c0193c33146",
      "old_mode": 33188,
      "old_path": "shark-android/src/test/java/shark/HprofIOPerfTest.kt",
      "new_id": "621d17b3e6a4a43cec45e935d28bbb34bd1ef803",
      "new_mode": 33188,
      "new_path": "shark-android/src/test/java/shark/HprofIOPerfTest.kt"
    },
    {
      "type": "modify",
      "old_id": "6c68dbf6eb6dae22155283e4067ac52da3a28394",
      "old_mode": 33188,
      "old_path": "shark-android/src/test/java/shark/LegacyHprofTest.kt",
      "new_id": "968cee8909fbe613c53bcb62277f82a6bc76e7b8",
      "new_mode": 33188,
      "new_path": "shark-android/src/test/java/shark/LegacyHprofTest.kt"
    },
    {
      "type": "modify",
      "old_id": "9c07b384fce18ec4f8eca2ee81c470eee9e6a8fe",
      "old_mode": 33188,
      "old_path": "shark/src/main/java/shark/internal/AndroidReferenceReaders.kt",
      "new_id": "810eaef7468b66bb8838b425b52207202ca48426",
      "new_mode": 33188,
      "new_path": "shark/src/main/java/shark/internal/AndroidReferenceReaders.kt"
    }
  ]
}
