From 48e438d5109d80fee269c69071bfe3c5e4f387d1 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 3 Apr 2018 23:59:50 +0200 Subject: [PATCH] declare some key vars final to help the compiler optimize those Apparently, the Java compiler can in some cases reuse a final value instead of executing a method again. This is from @hotlittlewhitedog !653 --- app/src/main/java/org/fdroid/fdroid/data/App.java | 7 ++++--- .../java/org/fdroid/fdroid/views/apps/AppListAdapter.java | 3 ++- .../org/fdroid/fdroid/views/whatsnew/WhatsNewAdapter.java | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/data/App.java b/app/src/main/java/org/fdroid/fdroid/data/App.java index 120021760..aff0a6e78 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -219,12 +219,13 @@ public class App extends ValueObject implements Comparable, Parcelable { public App() { } - public App(Cursor cursor) { + public App(final Cursor cursor) { checkCursorPosition(cursor); - for (int i = 0; i < cursor.getColumnCount(); i++) { - String n = cursor.getColumnName(i); + final int cursorColumnCount = cursor.getColumnCount(); + for (int i = 0; i < cursorColumnCount; i++) { + final String n = cursor.getColumnName(i); switch (n) { case Cols.ROW_ID: id = cursor.getLong(i); diff --git a/app/src/main/java/org/fdroid/fdroid/views/apps/AppListAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/apps/AppListAdapter.java index 4d1590cce..32fc0561d 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/apps/AppListAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/apps/AppListAdapter.java @@ -34,7 +34,8 @@ class AppListAdapter extends RecyclerView.Adapter @Override public void onBindViewHolder(StandardAppListItemController holder, int position) { cursor.moveToPosition(position); - holder.bindModel(new App(cursor)); + final App app = new App(cursor); + holder.bindModel(app); } @Override diff --git a/app/src/main/java/org/fdroid/fdroid/views/whatsnew/WhatsNewAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/whatsnew/WhatsNewAdapter.java index 7500f16d6..671ec8b27 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/whatsnew/WhatsNewAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/whatsnew/WhatsNewAdapter.java @@ -80,7 +80,8 @@ public class WhatsNewAdapter extends RecyclerView.Adapter { @Override public void onBindViewHolder(AppCardController holder, int position) { cursor.moveToPosition(position); - holder.bindApp(new App(cursor)); + final App app = new App(cursor); + holder.bindApp(app); } @Override