1

我的应用程序刚刚处于启动模式,但没有完全加载 Logcat 消息是:“跳过 33 帧!应用程序可能在其主线程上做了太多工作。” 请帮我 ..

4

4 回答 4

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");

        }

    }
}
于 2013-07-20T12:32:08.333 回答
0

使用 Async Task 在后台运行任务。

这是一个例子:

http://android-am.blogspot.in/2012/10/async-task-with-progress-dialog-in.html

于 2013-07-20T12:03:34.083 回答
0

如果您正在进行一些网络操作、Bitmap 下载和 ImageViews 迭代设置,请告诉我。这会消耗很多内存来完成所以提出了这种问题。

在下载位图并设置为 imageView 的情况下,您应该根据 imageView 调整图像大小(例如,在 ListView 中列出图像图标)。

于 2013-07-20T12:13:54.537 回答
0

如果您真的认为这是在 UI Thread 上完成所有工作。然后只需创建一个 Thread 对象并在其 run() 中进行函数调用

Thread t=new Thread();
t.start();


public void run(){

makeYourFunctionCallHere();
}

或者,如果进行一些网络操作,您可以使用 ASysncTask。

于 2013-07-20T11:52:51.637 回答