我正在为Android编写一个应用程序,用于从SHOUTcast mp3流中获取元数据.我正在使用我在网上找到的一个非常漂亮的课程,我稍微修改了一下,但我仍然有两个问题.
1)我必须不断Ping服务器以使用TimerTask更新元数据.我不喜欢这种方法,但这是我能想到的.
2)当我的应用程序运行时,有一吨公吨的垃圾收集.删除TimerTask摆脱了垃圾收集问题所以我不确定我是做错了还是这是正常的.
这是我正在使用的课程:
public class IcyStreamMeta { protected URL streamUrl; private Map
}
这是我的计时器:
private voID getMeta() { timer.schedule(new TimerTask() { public voID run() { try { icy = new IcyStreamMeta(new URL(stationUrl)); runOnUiThread(new Runnable() { public voID run() { try { artist.setText(icy.getArtist()); Title.setText(icy.getTitle()); } catch (IOException e) { e.printstacktrace(); } catch (Stringindexoutofboundsexception e) { e.printstacktrace(); } } }); } catch (MalformedURLException e) { e.printstacktrace(); } } },5000);}
非常感谢任何帮助!最佳答案我已经在我的程序中替换了IcyStreamMeta类,并从7.HTML文件获取元数据,该文件是SHOUTcast规范的一部分.更少的数据使用和所有这些,所以我觉得这是一个更好的选择.
我仍在使用TimerTask,这是可以接受的.实际上几乎没有GC了,我很高兴使用7.HTML和一点regex. 总结
以上是内存溢出为你收集整理的java – 使用IcyStreamMeta从SHOUTcast获取元数据全部内容,希望文章能够帮你解决java – 使用IcyStreamMeta从SHOUTcast获取元数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)