【发布时间】:2013-07-19 16:11:06
【问题描述】:
我的应用程序刚刚处于启动模式,但未完全加载 Logcat 消息是: “跳过了 33 帧!应用程序可能在其主线程上做了太多工作。” 请帮帮我..
【问题讨论】:
标签: android android-emulator cordova emulation
我的应用程序刚刚处于启动模式,但未完全加载 Logcat 消息是: “跳过了 33 帧!应用程序可能在其主线程上做了太多工作。” 请帮帮我..
【问题讨论】:
标签: android android-emulator cordova emulation
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("in on create", "before thread");
new handler().start();
}
private class handler extends Thread {
@Override
public synchronized void start() {
super.start();
Log.d("in handler ", "inside start");
}
}
}
【讨论】:
如果您真的认为这是在 UI 线程上完成所有工作。然后只需创建一个 Thread 对象并在其 run() 中进行函数调用
Thread t=new Thread();
t.start();
public void run(){
makeYourFunctionCallHere();
}
或者你可以在做一些网络操作时使用 ASysncTask。
【讨论】:
使用异步任务在后台运行任务。
这是一个例子:
http://android-am.blogspot.in/2012/10/async-task-with-progress-dialog-in.html
【讨论】:
如果您正在进行一些网络操作、Bitmap 下载和 ImageViews 上的迭代设置,请告诉我。这要消耗很多内存所以就提出了这样的问题。
如果下载位图并设置为 imageView,您应该根据 imageView 调整图像大小(例如,在 ListView 中列出图像图标)。
【讨论】: