我遇到以下错误

Skipped 40 frames!  The application may be doing too much work on its main thread.


已对此进行了研究...确保Runnables尽可能使一切始于新线程。但是不断得到错误。我几乎注释了我所有的代码,但在开始一项新活动时仍然得到了它。然后我在第一次活动中对此mapfragment进行了评论,然后错误消失了。因此,错误是由以下代码段引起的:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:name="com.google.android.gms.maps.MapFragment"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    />


我是从Google Maps API(适用于Android文档)获得的...奇怪的是它没有进行优化。如何确定错误消失了?我可以延迟mapFragment的加载吗?

一旦我打开活动一次,然后再次将其重新打开,警告就消失了,因为它已经在内存中了..但我想拥有最好的优化应用程序。

为了避免混淆,是setContentView引起延迟,因为此函数中加载了mapFragment。延迟会引发警告。我的问题:如何加快setContentView的速度,以便在活动打开后预加载mapFragment或加载它。

最佳答案

setContentView() slow with map fragment

这包含答案。被Google深深地隐藏着,但是找到了!

关于java - MapFragment-应用程序可能在其主线程上做太多工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32001738/

10-10 19:50