0
可能是一个新手问题。我已经尝试玩Android的AppWidgetProvider onUpdate方法,并使用“睡眠”来引起一个小的延迟。Android AppWidget - 奇怪的睡眠模式
使用循环重复更新 - 这是事情:循环计数器设置为20,休眠时间为1秒 - 循环仅执行10次 - 每秒延迟900毫秒将循环增加到12,延迟500毫秒获得20的完整循环计数。这是如何解释的?
查看下面的AppWidgetProvide代码。该小部件只包含一个文本视图。
public class SimpleWidget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
Log.w("on update here", " message");
RemoteViews rm = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);
for (int loop = 0; loop <= 20; loop++) {
Log.w("on update here", "loop counter =" + loop);
rm.setTextViewText(R.id.tvWidget, "now you see it " + loop);
for (int index = 0; index < appWidgetIds.length; index++) {
appWidgetManager.updateAppWidget(appWidgetIds[index], rm);
Log.w("updating", "aw number =" + index);
}
try {
Thread.sleep(2000, 0);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}