我遇到以下错误
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/