我的应用程序刚刚处于启动模式但未完全加载 Logcat消息是: “跳过33帧!应用程序可能在其主线程上做了太多工作。” 请帮帮我..
答案 0 :(得分:1)
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");
}
}
}
答案 1 :(得分:0)
如果你真的认为这是在UI线程上做的所有工作。然后只需创建一个Thread对象并在其run()
中进行函数调用Thread t=new Thread();
t.start();
public void run(){
makeYourFunctionCallHere();
}
或者如果进行一些网络操作,你可以使用ASysncTask。
答案 2 :(得分:0)
使用异步任务在后台运行任务。
这是一个例子:
http://android-am.blogspot.in/2012/10/async-task-with-progress-dialog-in.html
答案 3 :(得分:0)
如果您正在迭代地进行网络操作,Bitmap下载和ImageViews设置,请告诉我。这会消耗很多内存所以提出了这样的问题。
如果要将位图下载并设置为imageView,则应根据imageView调整图像大小(例如,ListView中的列表图像 - 图标)。