Meine Frage mag naiv aussehen, aber ich weiß nicht, wie ich sie richtiger formulieren soll. Das Problem ist, dass ich große Arrays einfacher Art in meiner Anwendung erstelle und verwende. Und ich bekomme Fehler wie:Warum hat meine Anwendung weniger Heapspeicher als andere?
ERROR/dalvikvm-heap(1763): Out of memory on a 7907344-byte allocation.
Ja, es ist groß genug, aber Task-Management-Tools behaupten, dass meine Bewerbung nur 30 MB Speicher verwendet, während andere in der gleichen Anwendung 50MB Zeit und sogar 110MB (haben einmal gesehen) und Es gibt immer noch 190 MB freien Speicher im System (nicht Systemanwendungen, nur andere gewöhnliche Anwendungen, die ich installiert habe). Wenn alle Anwendungen beim Start dieselbe Heap-Größe erhalten, wie können sie so groß werden?
Möglicherweise ein Problem, einen ausreichend großen zusammenhängenden Speichertrank zu finden. – Anthony
Warum möchten Sie so viel an erster Stelle zuweisen? Lass mich raten: nicht gepufferter Stream – apps
Ich benutze es um DrawBitmap auf einem Canvas zu zeichnen. Der Grund dafür ist, dass die Bitmap im nativen Code, auf den JNI zugreift, generiert und ständig geändert wird. –