Я работаю над приложением, которое показывает карту Google (api v2) в виде фрагмента. Когда приложение загружается, оно показывает пустой белый экран в течение нескольких секунд, прежде чем показать карту. Я использовал операторы журнала, чтобы увидеть, где задержки, но я не знаю, почему это так медленно.
Вот мой onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "onCreate Start -------------------------------");
super.onCreate(savedInstanceState);
Log.i(TAG, "onCreate 1 -------------------------------");
setContentView(R.layout.activity_main);
Log.i(TAG, "onCreate 2 -------------------------------");
do_async_setup();
Log.i(TAG, "onCreate 3 -------------------------------");
prefs = getSharedPreferences(PREFS_NAME, 0);
prefs_editor = prefs.edit();
Log.i(TAG, "onCreate Finish -------------------------------");
А вот и выход.
01-20 10:05:28.802: I/HeadsUp(19544): onCreate Start -------------------------------
01-20 10:05:28.802: I/HeadsUp(19544): onCreate 1 -------------------------------
01-20 10:05:30.396: I/HeadsUp(19544): onCreate 2 -------------------------------
01-20 10:05:30.396: I/HeadsUp(19544): onCreate 3 -------------------------------
01-20 10:05:30.403: I/HeadsUp(19544): onCreate Finish -------------------------------
Вы можете увидеть 1,5-секундную задержку для setContentView. Вот мой макет.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>
</RelativeLayout>
Это просто выглядит плохо, как будто приложение зависло при загрузке. Как я могу ускорить это или скрыть задержку?
Благодарность,
2000ms
даже вnon-debug
. - person theblang   schedule 17.11.2014