无合金钛螺纹

Posted

技术标签:

【中文标题】无合金钛螺纹【英文标题】:threading in titanium without alloy 【发布时间】:2013-09-10 12:41:23 【问题描述】:

以下代码是我必须运行的循环,它将使用当前在收音机上播放的歌曲的正确元数据标题更新我的 UI。我需要循环每 10 秒运行一次。我尝试设置十秒的超时并每十秒调用一次我的函数,这导致我的应用程序崩溃,所以我认为我必须创建一个单独的线程。我在这里看到了一个问答,详细说明了如何使用合金来做到这一点:

http://developer.appcelerator.com/question/117199/how-to-create-multithreading-in-mobile-sdk

是否有任何不使用合金的示例,或者实现多线程的最佳实践是什么?代码如下:

function FetchMetaData () 
//while (true)
alert("Am I being fired");
   if (isPlaying && Titanium.Network.online) 
        if  (TitleLabel.text !== streamer.getMetaTitle()) 
            TitleLabel.setText(streamer.getMetaTitle());
           
        else 
                //Do nothing
        
        
     else 
           //Do nothing
     
    //

【问题讨论】:

【参考方案1】:

setInterval 应该这样做:

function updateView() 
    //your update code

setInterval(function() 
    updateView();
, 10000);

当您的应用崩溃时,Titan 日志错误是什么?可能是因为 setInterval 以外的原因。

【讨论】:

需要明确的是,javascript is single threaded 和计时器不会在单独的线程上运行。

以上是关于无合金钛螺纹的主要内容,如果未能解决你的问题,请参考以下文章

钛合金(TA、TC、TB)阐述热处理工艺

钛合金(TA、TC、TB)阐述热处理工艺

钛合金背活性

钛合金onClick参数

钛合金简单数字广告条目

Facebook登录回调在钛合金中不起作用