Status Update
Comments
vi...@google.com <vi...@google.com> #2
Information redacted by Android Beta Feedback.
vi...@google.com <vi...@google.com> #3
Thank you for reporting this issue. We have shared this with our product and engineering team and will update this issue with more information as it becomes available.
mc...@navionics.com <mc...@navionics.com> #4
Could you please let me know if without Android Auto
usage and not using com.njm.njmsafedrivego
and com.august.bennu
lessen battery drain?
vi...@google.com <vi...@google.com> #5
mc...@navionics.com <mc...@navionics.com> #6
Could you please capture a bug report and share it here?
vi...@google.com <vi...@google.com> #7
mc...@navionics.com <mc...@navionics.com> #8
vi...@google.com <vi...@google.com> #9
Some performance penalty is to expected since we intercept all file system operations to implement Scoped Storage, as mentioned here:
Using instead a path outside the app private storage, i.e. /sdcard/MyFolder it is noticed a significant performance degradation (it appears to be 10-15 times more slow then app private storage). This issue has been observed by customers after having upgraded the Android OS on their Pixel 3 devices. Our application is a map / navigation app and we normally store data in the public folder and the rendering performances are very poor after the OS upgrade.
getExternalFilesDir
bypasses fuse to support this exact usecase. If the performance is from reading and writing individual files, moving to getExternalFilesDir
is the only way to mitigate it for now. If it's scanning directories or bulk file operations, there may be ways to restructure the application code.
From our testing, we have not seen such big regression - so please give us more details.
ci...@gmail.com <ci...@gmail.com> #10
[Deleted User] <[Deleted User]> #11
The features of the apps require access to all files on the device so it is not possible to use only getExternalFilesDir location.
vi...@google.com <vi...@google.com> #12
ci...@gmail.com <ci...@gmail.com> #14
vi...@google.com <vi...@google.com> #15 Restricted
vi...@google.com <vi...@google.com> #16
- If the data is not media that is intended to be shared with other apps, please use app-private storage, as suggested earlier. While Android currently allows you to read/write all over the /sdcard, once your app starts targeting API 30, it will no longer be allowed to.
- If you do need this data to be shared, and it is media (eg images, videos), you can access this data through the MediaStore APIs (eg
ContentResolver.openFileDescriptor()
; the file descriptor returned from that APIs will also work directly on the lower filesystem, and should be fast
pa...@tomtom.com <pa...@tomtom.com> #17
This is issue about external removable private storage as one can check in benchmark tests. Looks like
pl...@gmail.com <pl...@gmail.com> #19
fa...@gmail.com <fa...@gmail.com> #20
st...@planetcoops.com <st...@planetcoops.com> #21
Re-
tl...@gmail.com <tl...@gmail.com> #22
ke...@gmail.com <ke...@gmail.com> #23
I see you keep closing tickets about SAF preventing applications from working. Between this and Chrome Topics, you're making an excellent argument for nobody to ever touch the Google ecosystem again.
Description
This issue looks to be introduced with Scoped Storage changes, in fact if the application attempts to access resources in the private application folder (path returned from getFilesDir(), i.e. /data/data/<app-bundle-id>/files) the issue is not present and file system APIs are well performing.
Using instead a path outside the app private storage, i.e. /sdcard/MyFolder it is noticed a significant performance degradation (it appears to be 10-15 times more slow then app private storage).
This issue has been observed by customers after having upgraded the Android OS on their Pixel 3 devices. Our application is a map / navigation app and we normally store data in the public folder and the rendering performances are very poor after the OS upgrade.
It is expected that upgrading the OS on a device, the application performances do not drastically decrease because of platform changes.