Vorrei sapere se la registrazione può ridurre le prestazioni dell'applicazione? Inoltre, per favore dammi alcuni suggerimenti per aumentare le prestazioni delle applicazioni Android.La scrittura di troppi registri riduce le prestazioni dell'applicazione Android?
risposta
È meglio non mostrare il log nella build effettiva della tua app.
Spegnere in Android Manifest impostando debuggable:
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:debuggable="false">
Un altro modo
creare una classe logger:
Verificare la modalità di debug prima di eseguire log. Permette la modifica di un singolo punto tra la modalità di debug e l'applicazione distribuita e consente di fare cose extra come scrivere sul log file.
import android.util.Log;
public class MyLog {
private static final boolean isDebug = false;;
public static void i(String tag, String msg) {
if (isDebug) {
Log.i(tag, msg);
}
}
public static void e(String tag, String msg) {
if (isDebug) {
Log.e(tag, msg);
}
}
}
Per ulteriori informazioni leggere http://rxwen.blogspot.com/2009/11/logging-in-android.html
e The SO QAs:
In base alla mia esperienza, l'impostazione manifest non ha alcun impatto sul log produzione. Controlla semplicemente se un debugger può collegarsi alla tua applicazione. – cistearns
** grassetto ** Grazie –
@cistears L'impostazione debuggable = "false" aiuta ad aumentare l'efficienza? –
uso 'se' dichiarazione prima scrittura di registro.
è possibile disabilitare il registro quando si rilascia l'applicazione.
esempio:
public class LogTest extends Activity {
private static final String TAG = "YOUR_LOG_TAG_NAME";
private static final boolean mDebug = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//--[Start Log example]-----------------------------------------
if(mDebug) Log.d(TAG, "Log Write Test");
//--[End Log example]-----------------------------------------
}
}
Qualsiasi testo di output in eccesso rallenterà la vostra applicazione, anche con un'applicazione desktop. Una registrazione eccessiva rallenta le cose, ma fondamentalmente serve una quantità folle di dati inviati, il che, a proposito, non è così difficile da fare con un ciclo for o while. Le cose che accadono in background durante la registrazione a volte includono la manipolazione delle stringhe, il rendering del testo, la gestione della cache, il filtraggio dei dati, la limitazione della lunghezza del registro e l'elenco continua.
Esistono diversi modi per rimuovere logcat dall'app finale, in particolare quelli che coinvolgono ProGuard. ProGuard non ha funzionato per me, ma ci sono un sacco di idee brillanti là fuori su come rimuoverle, inclusi programmi di scripting come sed.
- 1. Troppi ID danneggiano le prestazioni
- 2. Applicazione Tomcat Generazione di troppi registri
- 3. Scrittura di registri HTML personalizzati
- 4. .NET: ThreadStatic vs lock {}. Perché ThreadStaticAttribute riduce le prestazioni?
- 5. Scrittura dei registri nel file
- 6. Comprende troppi file in PHP per ridurre le prestazioni?
- 7. Tronchi di PhoneGap/Cordova troppi registri CordovaLog Web Console
- 8. Utilizzo di ElastiCache con RDS per migliorare le prestazioni di lettura/scrittura
- 9. L'importazione di un modulo (ma non l'uso) riduce le prestazioni in Python?
- 10. Problemi di prestazioni nella scrittura di file di grandi dimensioni?
- 11. Scrittura dell'immagine per risposta servlet con le migliori prestazioni
- 12. Come testare le prestazioni di un'applicazione Android?
- 13. L'aggiunta di troppi listener di eventi influisce sulle prestazioni?
- 14. Registro di scrittura Android sul file
- 15. I registri di scrittura AVD (dispositivi virtuali Android)? Se è così dove?
- 16. La tastiera dell'iPhone riduce le dimensioni modali per l'applicazione Web
- 17. Visual Studio riduce le finestre sganciate
- 18. Come aumentare le prestazioni del disegno bitmap su Android
- 19. La minificazione migliora le prestazioni?
- 20. Gli annunci Android rallentano molto le prestazioni
- 21. Perché -Xrs ridurre le prestazioni
- 22. strumenti studio Android per mostrare i registri e le istruzioni
- 23. Android - adb logcat senza registri di debug
- 24. Recupera le ultime 100 righe di registri
- 25. jquery riduce l'adozione di Silverlight?
- 26. Troppi argomenti per la funzione
- 27. Come valutare le prestazioni CUDA?
- 28. File Linux IO - Prestazioni di multithreading - scrittura su file diversi
- 29. Android apk La modalità di debug funziona bene ma la modalità di rilascio fornisce troppi avvisi
- 30. Impatto delle prestazioni dell'uso di write() invece di send() durante la scrittura su un socket
Usa registro solo per il debug ... Elimina tutti i messaggi di registro quando si carica la build effettiva. – Krishnabhadra
La registrazione eccessiva può avere un piccolo impatto sulle prestazioni, ma in genere no. (vedere i collegamenti nella risposta @gt_ebuddy). Mentre lo sviluppo è connesso a DDMS rallenterà l'app. – cistearns
Possibile duplicato di [Log.d e impatto sulle prestazioni] (http://stackoverflow.com/questions/3773252/log-d-and-impact-on-performance) – rds