J'ai une application Android qui utilise beaucoup de mémoire en faisant la manipulation de pixels. Et ce que j'ai remarqué est que Android ne tue pas les programmes ou la mémoire libre en faveur de l'application de premier plan. Et mon application tombe en panne avec pas assez d'erreurs de mémoire. En ce moment, je l'ai autodétecter combien de mémoire est à gauche et à l'échelle des images de manière appropriée. Cela évite les plantages mais entraîne une mauvaise qualité d'image.Android ne tue pas automatiquement/mémoire libre quand mon application demande plus de mémoire
Existe-t-il un moyen de dire à Android OS, libérer de la mémoire car mon application a faim de mémoire. De ce que je lis d'Android, le système d'exploitation devrait le faire automatiquement. Mais cela ne semble pas le faire. Peut-être qu'il me manque quelque chose? L'iPhone a l'air de gérer ça beaucoup mieux.
Les grands objets sont juste des bitmaps. Je réutilise déjà les bitmaps pour éviter les trous. Analyser/proc/meminfo permet d'obtenir les résultats les plus fiables sur la quantité de mémoire disponible sur l'appareil. De mes tests jusqu'ici je sors des erreurs de mémoire lors de l'allocation d'un bitmap (ne pas avoir d'erreurs de mémoire pour toute autre raison encore) et pour moi il semble se produire quand l'appareil lui-même est physiquement bas en mémoire atteint car le graphique de proc/meminfo se rapproche de 0. –
Aussi quand je tue des applications, je pourrais utiliser plus de mémoire sans aucune forme de plantage. Je vais essayer d'allouer tout en mode natif et voir si cela aide. –