我正在阅读谷歌的记事本教程,在练习二中发现:
“我们在方法开始时将 mNotesCursor 字段分配给局部变量。这是作为 Android 代码的优化完成的。访问局部变量比访问 Dalvik VM 中的字段更有效,所以通过这样做我们只对字段进行一次访问,对局部变量进行五次访问,使例程更加高效。建议您尽可能使用此优化。
编码:
Cursor c = mNotesCursor;
c.moveToPosition(position);
Intent i = new Intent(this, NoteEdit.class);
i.putExtra(NotesDbAdapter.KEY_ROWID, id);
i.putExtra(NotesDbAdapter.KEY_TITLE, c.getString(c.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
i.putExtra(NotesDbAdapter.KEY_BODY, c.getString(c.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY)));
startActivityForResult(i, ACTIVITY_EDIT);
为什么访问局部变量而不是字段更快?
记事本教程可在以下网址访问:http: //developer.android.com/training/notepad/notepad-ex2.html 这部分在第 5 步中。