我是Android SDK/API环境的新手.这是我第一次尝试绘制情节/图表.我尝试使用3个不同的免费库运行不同类型的示例代码模拟器,在布局屏幕中没有显示任何内容.logcat重复以下消息:
W/Trace(1378): Unexpected value from nativeGetEnabledTags: 0 I/Choreographer(1378): Skipped 55 frames! The application may be doing too much work on its main thread.
当我运行与许可库的评估副本有关的示例代码时,问题不会持续存在并且图表有效.
我安装了最新版本SDK (API 16)并获得了最新的ADT.我现在在logcat中看到这些消息,我很确定,我以前没见过.有没有人对此有所了解?
06-29 23:11:17.796:I/Choreographer(691):跳过647帧!应用程序可能在其主线程上做了太多工作.
我做了一个搜索,发现了这个链接:http: //developer.android.com/reference/android/view/Choreographer.html.这是API 16中引入的新类.
我需要知道如何确定我的应用程序可能正在做什么"太多工作",因为我的所有处理都是在AsyncTasks中完成的.
我试图在我的一个活动的onCreate()方法期间显示进度对话框,完成工作以填充线程中完成的屏幕,然后关闭进度对话框.
这是我的onCreateMethod()
dialog = new ProgressDialog(HeadlineBoard.this);
dialog.setMessage("Populating Headlines.....");
dialog.show();
populateTable();
Run Code Online (Sandbox Code Playgroud)
populateTable方法包含我的线程和解除对话框的代码,但由于某种原因.活动空白大约10秒(执行populateTable()工作),然后我看到屏幕.我从来没有看到对话框显示,任何想法?
这是populateTable()代码:
//Adds a row to the table for each headline passed in
private void populateTable() {
new Thread() {
@Override
public void run() {
//If there are stories, add them to the table
for (Parcelable currentHeadline : allHeadlines) {
addHeadlineToTable(currentHeadline);
}
try {
// code runs in a thread
runOnUiThread(new Runnable() {
@Override
public void run() {
dialog.dismiss();
}
});
} catch (final Exception ex) {
Log.i("---","Exception in thread"); …Run Code Online (Sandbox Code Playgroud)