here-android-sdk-examples icon indicating copy to clipboard operation
here-android-sdk-examples copied to clipboard

The application is freezing while external cache storage is used (Android 11+)

Open fedyshyn1994 opened this issue 3 years ago • 4 comments

Describe the bug The application is freezing while external cache storage is used (with downloaded offline maps and Android 11+)

Steps To Reproduce

  1. Install SD Card.
  2. Open application and install offline maps (more than 10).
  3. Close the application and open again.
  4. The application freezing. This only happens on Android 11.

Expected behavior The application should not freezing.

Screenshots offline_maps_android_11

Smartphone (please complete the following information):

  • Device: Galaxy Tab Active 3 (SM-T577U/DS)
  • OS: Android 11
  • SDK Version: 3.19.2

Additional context I used the following project: https://github.com/heremaps/here-android-sdk-examples/tree/master/map-downloader . In the code, I change the internal storage to external and then download offline maps for 15 USA states - the application freezing. Using fewer offline map packages (1-2) works fine.

fedyshyn1994 avatar Nov 08 '21 15:11 fedyshyn1994

Hi @fedyshyn1994, Thanks for reporting this issue, we will take a look at it.

NazarKacharaba avatar Nov 09 '21 11:11 NazarKacharaba

Unfortunately, it looks like this issue cannot be fixed. Accessing the SD card is much slower than accessing the internal memory. Functions like fstat work at times slower. On my Samsung Note 20 Ultra, it takes 15 seconds to list each map package. This could be a result of the file system used (FAT32), security improvements, changes in Android 11.

Merlin1stHere avatar Dec 01 '21 13:12 Merlin1stHere

This makes it impossible to use on Android 11+, especially on lower end devices while the system UI freezes on several minutes (!) There should be way to fix it, since HERE We Go app offline mode works fine with SD card in on Android 11 and 12.

romandanylyk avatar Dec 01 '21 14:12 romandanylyk

HERE WeGo based on SDK 4.x, and uses a different map format. Different directory structure and fewer files. Perhaps the new map data format requires fewer file accesses. Even so, it took several minutes to cancel the download of the package.

Merlin1stHere avatar Dec 01 '21 15:12 Merlin1stHere