2014年2月27日

摘要: 英文好的,可跳过,直接打开底部的“参考“链接。代码变序--reordering of memory operations大概4年前,阅读了这篇文章后http://www.albahari.com/threading/,我就自我满足,多线程编程不过就是用那些工具而已。今天,读了一篇文章后,http://msdn.microsoft.com/en-us/magazine/jj863136.aspx,才发现C#代码是可以变序的(上面的文章也提到了,忘得一干二净)。举例,你写出如下的代码voidInit(){_data=42;_initialized=true;}JIL运行时的代码却可以像这样(不是I 阅读全文
posted @ 2014-02-27 16:26 lugesot 阅读(526) 评论(0) 推荐(0) 编辑

2012年8月22日

摘要: 昨天在想,自己学iPhone这么坎坷,能否总结点经验。和其他手机开发平台一样,先学透view和消息机制,其他的都和台式机平台差不多。先推荐一篇好文,卢克同学总结的viewController机制:http://geeklu.com/2012/05/custom-container-view-controller/然后可以顺藤摸瓜再研读apple官方文档(比Android乱多了)。回到正题,对于UI,如果不断的addSubview同一个view对象,是否会内存泄漏?答案:不会,我在Perform tool里查看确实没内存泄漏。原因:在view Hirachy中,view是singleton的,s 阅读全文
posted @ 2012-08-22 10:31 lugesot 阅读(310) 评论(0) 推荐(0) 编辑

2012年7月24日

摘要: 相信大家学习时,光看Api Demo,难免会觉得枯燥。自己开发小程序,锻炼下固然不错,但开发完后,还是没底。和学习其他语言一样,看别人的代码,也就是开源代码,是学习编程的重要手段。像Zicro-Browser这样,功能简单明了,有足够UI技术成分,又不需要负责的调试环境,实在是很好的阅读对象。后天去腾讯面试,如果失败,可能就真要告别手机无线平台了,回归C++/C#。所以,真不希望这是我最后一个关于Android的随笔,这也是我仓促写本文的原因,留个纪念。1 项目源代码Zicro 介绍: http://code.google.com/p/zirco-browser/图方便的话,请再搜源代码或者. 阅读全文
posted @ 2012-07-24 19:34 lugesot 阅读(3088) 评论(0) 推荐(0) 编辑
 
摘要: 游戏说明:横向或纵向有3个或3个以上连续相同的图块时,这些图块将会消失;图块自移动时,不接收点击操作;图块停止运行时,可以点击两个图块,如果相邻,图块将交换位置。主要涉及技术要点 1 使用Surface制作动画效果,参考游戏主界面GameSurfaceView.java 2 同一Activity下,不同线程的view之间进行通信,参考GameViewActivity中的“刷新TextView部分”另,要求调试环境:Android SDK version 15+ , LCD density = 120有问题,欢迎探讨交流。源代码:http://files.cnblogs.com/lugeso.. 阅读全文
posted @ 2012-07-24 17:49 lugesot 阅读(223) 评论(0) 推荐(0) 编辑

2011年5月17日

摘要: 目前,我除自己为客户开发项目外,也要诊断一些客户的程序,因为他们在使用我们公司提供的开发包。一些程序为了提供多线程支持,经常使用的是消息,timer,thread.消息: 利用窗口消息泵来实现线程间通信。因为消息泵是针对UI线程的容器,所以可以理解成在UI线程上同步。 好处是,程序相对清晰明了,通过消息名称,很容易查到处理过程; 问题是,计算量大时,需要注意消息频率,否则造成界面假死。timer: 目前,大多是用form timer。 好处是,自动循环触发。 问题是,客户经常忽略timer间隔变化问题。如果间隔时间很小,有可能kick事件触发的函数没有运行完,新的事件又被触发过来。最简单的方法 阅读全文
posted @ 2011-05-17 11:30 lugesot 阅读(672) 评论(0) 推荐(0) 编辑

2010年12月15日

摘要: 今天遇到一个C++编译问题。我用Gloox编译成dll,然后再自己写个C++ console,2个项目在一个解决方案中(这使我一顿被蒙蔽),去调用它,build error如下:error LNK2001: unresolved external symbol "class std::basic_stringchar,struct std::char_traitschar,class std::allocatorchar const gloox::GLOOX_VERSION" (?GLOOX_VERSION@gloox@@3V?$basic_string@DU?$char_tra 阅读全文
posted @ 2010-12-15 20:04 lugesot 阅读(374) 评论(0) 推荐(0) 编辑

2010年11月26日

摘要: CodeBlock IDE工具是跨平台软件,在window上,提供GCC编译环境。所以,如果想在windows上调试ffmpeg,CodeBlock是理想工具。能够边debug ,边能看源代码的条件是必须要明确的。如果我告诉你需要gdb工具,你可能说是废话。但如果你像我一样没有linux平台开发经验的话。那我就可以分享一下至关重要的经验:确保版本一致性,或者协调性。举例来说,GCC版本不一致,gd... 阅读全文
posted @ 2010-11-26 16:39 lugesot 阅读(1033) 评论(1) 推荐(0) 编辑