草庐IT

syscall_thread_switch

全部标签

android - 没有延迟更新 View 时没有错误 "Only the original thread that created a view hierarchy can touch its views"

我遇到了一个有趣的问题。如果在activity的onCreate/onStart/onResume方法中写入如下代码:finalButtonmyButton=(Button)findViewById(R.id.myButton);finalTextViewmyTextView=(TextView)findViewById(R.id.myTextView);finalThreadthread=newThread(newRunnable(){@Overridepublicvoidrun(){myTextView.setText("Hellotext");}});myButton.setOn

Android- Thread.join() 导致应用程序挂起

我有一个线程处理我的游戏循环,当我在这个线程上调用.join()时,应用程序停止响应。我一直在尝试解决程序永远无法访问代码的问题,即线程永远不会结束。System.out.println("YAY");我的游戏循环线程:该线程成功打印出“游戏结束”,但似乎从未结束。RunnablestartGameLoop=newRunnable(){//gameloop@Overridepublicvoidrun(){AiFactoryai=newAiFactory();finalButtonplay=(Button)findViewById(R.id.Play);finalButtonpass=(

android - Google Cloud Messaging 注册方法因 IOException (MAIN_THREAD) 而失败

已关注Google'sGCMexample非常仔细,但仍然出现了令人沮丧的错误。在这里找不到答案,所以我想记录下来以备将来引用。我非常确定我已使用正确的权限等正确设置了list(完全按照上面的示例)...但是这段代码总是导致IOException并解释为“MAIN_THREAD”。Stringregid="";try{GoogleCloudMessaginggcm=GoogleCloudMessaging.getInstance(getApplicationContext());Stringsender_id=getResources().getString(R.string.GCM_

java - 安卓开发 : "thread exiting with uncaught exception"

我正在尝试创建我的第一个Android应用程序(游戏),但我在开始时遇到了一些困难。当我运行我的代码时,我得到这个错误日志:05-2502:41:51.022:WARN/dalvikvm(634):threadid=1:threadexitingwithuncaughtexception(group=0x4001d800)05-2502:41:51.040:ERROR/AndroidRuntime(634):FATALEXCEPTION:main05-2502:41:51.040:ERROR/AndroidRuntime(634):java.lang.RuntimeException:

android-3.0-honeycomb - 非法参数异常 : No view found for id for fragment when fast switching ActionBar Tabs

我正在开发适用于平板电脑的Android应用程序并且不使用兼容性库。只有一个Activity,它使用带有3个选项卡的ActionBar。在TabListener中,我使用setContentView加载特定于该选项卡的布局,然后将相关fragment添加到它们的框架中。这几乎完全按照我想要的方式工作,除非您在选项卡之间切换的速度足够快时应用程序会崩溃。我使用SamsungGalaxyTab作为我的调试设备,切换标签非常快。以正常的速度,我可以在它们之间来回点击,页面会立即加载。问题是当我在选项卡之间进行super切换时。一开始我得到了一个IllegalStateException:Fr

java - "Animators may only be run on Looper threads"在设备上的仪器测试期间

这是我的测试代码:@RunWith(AndroidJUnit4.class)@SmallTestpublicclassWelcomeActivityTestsextendsBaseTest{ApplicationControllerapplicationController;@RulepublicActivityTestRuleactivityTestRule=newActivityTestRule(WelcomeActivity.class);ArgumentCaptorargumentCaptor;@Before@OverridepublicvoidsetUp(){applicat

安卓 OpenGL ES 2.0 : Is "switch-case" syntax possible in GLSL fragment shader on Samsung Galaxy S2?

有人知道如何在SamsungGalaxyS2的fragment着色器中执行switchcase语法吗?我收到编译错误:Expectedliteralor'(',got'switch'。我的语法如下:switch(i){case0:x=alphas[0];break;case1://...etc.}这在Nexus7上运行良好,但在GalaxyS2上出现上述错误。switchcase指令在GalaxyS2上根本不可能吗?我想使用它们的原因是它们似乎比Nexus7上的ifelse有性能改进。如果它们在GalaxyS2上不可能,是否有查询设备的方法并使用switchcase(如果可用)和ife

android - 等待信号量循环时的 SystemClock.sleep() 与 Thread.sleep()

为了同步/排队访问共享资源,我将使用Semaphore,在等待循环的帮助下。为了不遇到CPUHook,我想在while循环中稍微sleep()。我搜索了http://developer.android.com引用并找到了两个这样的sleep()函数,我很困惑哪个适合哪个场景:Thread.sleep()SystemClock.sleep()哪个更适合我描述的情况,为什么? 最佳答案 首先,你真的需要等待循环吗?您通常可以使用适当的通知来解决您的问题,即拥有一个对象,在其上调用wait()和notify()或其他方式(如阻塞队列,或S

android - 异步任务 "Only the original thread that created a view hierarchy can touch its views."

我尝试跨AsyncTaks修改Spinner内容,但我不能,Logcat写为“09-1916:36:11.189:ERROR/ERRORTHE(6078):只有创建View层次结构的原始线程可以触摸它的View。”。publicclassGetGroupsextendsAsyncTask{@OverrideprotectedVoiddoInBackground(Void...params){Spinnercombo=(Spinner)findViewById(R.id.group_combo);setGroups(combo);returnnull;}@Overrideprotecte

java - E/StudioProfiler : JVMTI error: 15(JVMTI_ERROR_THREAD_NOT_ALIVE) mean? 是什么

谁能给我解释一下E/StudioProfiler:JVMTIerror:15(JVMTI_ERROR_THREAD_NOT_ALIVE)究竟是什么意思?我在androidstudio中遇到这个错误。 最佳答案 JVMTI是调试和分析协议(protocol)。所以,我认为这与您尝试在其中运行应用程序的环境有关。 关于java-E/StudioProfiler:JVMTIerror:15(JVMTI_ERROR_THREAD_NOT_ALIVE)mean?是什么,我们在StackOverfl