Obsolete
Status Update
Comments
co...@gmail.com <co...@gmail.com> #2
Thank you for reporting this issue. For us to further investigate this issue, please provide the following additional information:
What steps are needed to reproduce this issue? Frequency of occurrence?
What is the expected output?
Which Android build are you using? (e.g. TQ3A.230705.001.A1)
Which device did you use to reproduce this issue?
Can you confirm if this issue is reproducible on a Pixel/Nexus device?
Are you reporting this as Developer or User?
Android bug report (to be captured after reproducing the issue)
For steps to capture a bug report, please refer:https://developer.android.com/studio/debug/bug-report#bugreportdevice
Alternate method
Navigate to “Developer options”, ensure “USB debugging” is enabled, then enable “Bug report shortcut”. Capture bug report by holding the power button and selecting the “Take bug report” option.
Note: Please upload the bug report and screenshot to google drive and share the folder to android-bugreport@google.com, then share the link here.
What steps are needed to reproduce this issue? Frequency of occurrence?
What is the expected output?
Which Android build are you using? (e.g. TQ3A.230705.001.A1)
Which device did you use to reproduce this issue?
Can you confirm if this issue is reproducible on a Pixel/Nexus device?
Are you reporting this as Developer or User?
Android bug report (to be captured after reproducing the issue)
For steps to capture a bug report, please refer:
Alternate method
Navigate to “Developer options”, ensure “USB debugging” is enabled, then enable “Bug report shortcut”. Capture bug report by holding the power button and selecting the “Take bug report” option.
Note: Please upload the bug report and screenshot to google drive and share the folder to android-bugreport@google.com, then share the link here.
ra...@google.com <ra...@google.com> #3
Please provide the requested information to proceed further. Unfortunately the issue will be closed within 7 days if there is no further update.
Description
1. |mTotalSize < mMaxTotalSize / 2|, which means |keySize +
valueSize > mMaxTotalSize / 2|. Since clean() can only clean the
cache of |mMaxTotalSize / 2| size, it cannot be added after
cleaning, so isCleanable() Return false, do not trigger clean().
2. |mTotalSize == mMaxTotalSize / 2|, in this case isCleanable
should return true and trigger clean().
3. |mTotalSize > mMaxTotalSize / 2|, this situation does not mean
|keySize + valueSize <= mMaxTotalSize / 2|, but isCleanable() will
return true and trigger clean(), and it cannot be added after
clean().
So the number 3 above should be a bug. Once |(mMaxTotalSize < newTotalSize) && (mTotalSize > mMaxTotalSize / 2) && (keySize + valueSize > mMaxTotalSize / 2)|, clean() will be triggered, but after clean() is executed It cannot be added, and the Cache with the size of |mTotalSize - mMaxTotalSize / 2| will also be cleared, causing the Cache
to become smaller.
Therefore, just determine |keySize + valueSize <= mMaxTotalSize / 2| directly in isCleanable().