2011-09-01 19 views

risposta

1

Con resources.arsc, ci sono due cose che possono accadere.

Normalmente, il file viene memorizzato nella compresso .apk. Android mmap() s il file e legge solo da esso, se necessario, senza caricare l'intero file nella RAM.

Se è compresso tuttavia accesso casuale diretto nel file non è un'opzione, quindi diventa decompresso e tenuto in memoria per ulteriori operazioni (ad esempio il caricamento di una stringa).

non sono sicuro perché questo sarebbe il caso se l'applicazione non è in esecuzione. Forse è tenuto in giro come background process?

+0

perché proprio Android non compresso e copiarlo in dati/dati o fare qualche cosa in primo luogo a apt poi metterlo in data/app, in modo che il file apk può essere più piccolo? – DzMonster

+0

Non ho una buona risposta. Penso che dovresti scendere a compromessi in entrambi i modi. Se lo salvi in ​​'/ data/data', perdi spazio su disco. Se lo si carica in RAM, si spreca RAM. Il tuo file è abbastanza grande da rendere questa allocazione un problema? – Vlad

+0

Sì, ora ha una dimensione di circa 30mb, il file resource.arsc è 6mb. Perché ha molto linguaggio dentro. Qualche suggerimento? – DzMonster