Wie kann ich die Leistung des folgenden Codes erhöhen?

Ich habe folgenden Code, der ein Bild mit Buchstaben,

public class MainActivity extends Activity { private String[] capital_letters,small_letters; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); } @Override protected void onStart() { super.onStart(); try { capital_letters = getApplicationContext().getResources().getStringArray( R.array.capital_letters ); small_letters = getApplicationContext().getResources().getStringArray( R.array.small_letters ); MyAdapter adapter = new MyAdapter ( MainActivity.this ,capital_letters,small_letters ); ListView list = ( ListView ) findViewById( R.id.list ); list.setAdapter( adapter ); list.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id ) { Intent intent = new Intent ( MainActivity.this, LetterActivity.class ); intent.putExtra( "position", position ); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); startActivity(intent); overridePendingTransition( 0, 0 ); } }); } catch ( Exception e ){e.printStackTrace();} } } 

Wie kann ich meinen Code so leicht machen, dass es sehr reibungslos funktioniert. Glatte Performance-Bedeutung, Richtige Deklaration von Variablen, Loops, Garbage Collection Nutzung etc?

  • Android-Webview onPageFinished zweimal genannt
  • Hinzufügen von benutzerdefinierten Schriftart zu Theme in Android
  • Google App Engine - Cloud Endpunkte - Anwendungsname ist nicht gesetzt
  • ExpandableListView in ExpandableListView
  • Permission Denial: ... benötigt android.permission.WRITE_EXTERNAL_STORAGE
  • Verwenden eines SVG als Hintergrund in Android
  • Wie man den Audio-Equalizer in android setzt
  • NullPointer auf toLowerCase, aber ich benutze diese Methode nicht überall
  • Ändern Sie den rechten Rand einer Ansicht programmgesteuert?
  • Android: Starten Sie den kreisförmigen Fortschrittsbalken von oben (270 °)
  • SelectableItemBackground als Element in der Ebenenliste
  • Broadcast Receiver funktionieren nicht in Android 6.0 Marshmallow
  • 3 Solutions collect form web for “Wie kann ich die Leistung des folgenden Codes erhöhen?”

    Schauen Sie sich diese Frage und all ihre Antworten an , die viel über die Leistungsoptimierung auf Android reden.

    Du bist nicht allein im Denken, um Leistung zu bekommen, die du benötigst, um Variablen richtig zu deklarieren, Loops zu optimieren usw.

    Aber wenn du dich einfach hinsetzt und das machst, dann endest du die Dinge, die nicht kaputt sind.

    Der Schlüssel zum Performance-Tuning ist: erstmal herauszufinden, was behoben werden muss

    Das ist, was Profiler sollen Ihnen helfen, zu tun. Persönlich verwende ich zufällige Pause , und so mach viele Leute. Hier ist eine kurze PDF-Diashow .

    Der Deal ist, es sei denn, Ihr Code ist wirklich einfach (in diesem Fall könnte es nicht viel Platz für Beschleunigung), es hat wahrscheinlich mehrere Dinge, die Sie beheben können, um es zu beschleunigen. Angenommen, es gibt drei:

    • A, verantwortlich für 40% der Gesamtzeit
    • B, verantwortlich für 20% der Gesamtzeit
    • C, verantwortlich für 10% der Gesamtzeit

    OK, also zuerst findest Du A, und du fixst es. Wie viel Beschleunigung bekommst du? (1 / (1 – 4)) = 1,67 oder 67%. Nicht schlecht

    Aber wenn du noch einmal auf die Prozentsätze schaust, jetzt:

    • B nimmt 33% (weil es so viel Zeit wie vorher braucht, aber die Summe wird nicht mehr von A gepuffert)
    • C nimmt 17%

    So sollten sie leichter zu finden sein, da sie größere prozentsionen nehmen. Du hast die Idee.

    Wenn du sie alle behegst, wie viel Beschleunigung bekommst du? 1 / (1 – 0,7) = 3,33 = 233% .

    Wenn es mehr gibt, wie D und E, was es sehr gut geben könnte, könnte man noch weiter gehen.

    Aber wenn du einen von ihnen vermisst , wie viel Beschleunigung bekommst du? Dieser Gegenstand wird dein Geschwindigkeitsbegrenzer. Also geh weiter, bis du nichts mehr finden kannst.

    Gehen Sie zu ihm und haben Sie Spaß!

    Es hängt zu viel von Ihrer spezifischen app ab, um eine allgemeine Antwort zu geben. Aber Google hat eine Performance-Guide mit Android-spezifischen Tipps geschrieben. Ich würde vorschlagen, das zu lesen.

    Natürlich geht es nicht viel in allgemeine Leistungs-Tipps, aber ich erwarte, dass Sie das schon kennen. Wenn nicht sollten Sie versuchen, einige Ressourcen auf allgemeine Performance-Tuning von Programmen und Performance-Tipps für Java, aber nicht alle letzteren wird für Android gelten.

    Nichts, während viele dieser Tipps (sehr leicht) die Leistung verbessern, sind sie nicht immer die besten Entscheidungen aus einem Software-Design (zB Wartbarkeit und Portabilität) Sicht. Auch viele von ihnen sind einfach "Tricks", die von einem Compiler automatisiert werden können und somit wahrscheinlich in eine spätere Version des JIT integriert werden. Sie könnten sogar schon in 4.0 liegen, da der Führer für 2.3 geschrieben wurde.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.