一周总结-胡言乱语

这一周都做了什么?

主要是重构,但是重构的结构早就写好了,大部分的时候都是在无聊的分离UI和逻辑。

学到的新东西有哪些?

因为有过高的计算量和数据操作,因此开始处理多线程,开始写线程中通讯。

因为要发布版本,开始写shell和鼓捣ant.

说一下线程的一些思路。说来惭愧,大学的时候明明学过操作系统,现在居然连信号量这种最基础的东西都忘记了。多线程其实并不复杂,唯一麻烦点得就是线程间的通讯。现在处理的思路为:假设有两道线程,主线程和逻辑线程。为主线程和逻辑线程各自分配一段缓存区。然后主线程和逻辑线程每帧都检测一下自己的缓存区,如果主线程缓存区有数据,则发送出去,如果逻辑线程缓存区有数据,则执行相应的操作。至于如何每一帧操作,主线程有schedule,逻辑线程需要自己写。这里注意一下cocos2d里面几乎所有东西都是非线程安全的。

缓冲区一定要用自己分配的内存区,不要用类似的list+struct之类的数据结构,好处是可以统一处理各种事件。格式可以是int32_t的长度,int32_t的消息类型,后面是消息数据,这样子取和存都可以统一处理了。

说一下ant吧,前面有写过一篇小白的ant博客。但是说的是如何打debug版本。如果要打release,则运行ant release。不过生成的是未签名的。如果想打完之后是签名的需要在工程目录的build.xml里面添加类似代码(注意是在<import file="${sdk.dir}/tools/ant/build.xml" />之前)

<property name="key.store" value=""/>
    <property name="key.store.password" value=""/>

    <property name="key.alias" value=""/>
    <property name="key.alias.password" value=""/>

    <property name="out.packaged.file" value=""/>
    <property name="out.unaligned.file" value=""/>

具体原因是为什么?可以查看一下ant下面的build.xml。

最后不贴点代码貌似说不过去,就把写的shell脚本贴上来。还是不错的东西,原先出版本要改脚本,压缩脚本,拷贝资源,打包整个下来要花十几分钟,现在有了这个一下子打了30个不同的包,总共用了不到十分钟。脚本果然是我们的好朋友。

names=(139MM UC Taobao shiziMao dangle xiaomi mobileHome androidMarket NearMe busStore anzhiMarket meizu androidStars mumayi leMarket handsStore soCool huaweiHui feifan jifeng youyi neng yingyonghui xiazaiduo kupai Nduo lenovo muzhiwan)
export LC_COLLATE='C'
export LC_CTYPE='C'

for((i=17;i<=44;i++));do

echo "changeContent"
distance=1
((preI=$i-$distance))
oldString="APPROACH = \"${preI}\""
newString="APPROACH = \"${i}\""
sed -i "" "s/${oldString}/${newString}/" ../scripts/app/MyApp.lua

echo "compress"
sh compile_script.sh

echo "compile"
ant release -Dsdk.dir=/Users/user/Documents/quick-cocos2d-x/android/android-sdk-macosx

echo "changepackagename"
file=17
((index=$i-$file))
mv bin/Thpbook-release.apk "bin/thm-${names[${index}]}.apk" 
时间: 2024-11-03 03:46:56

一周总结-胡言乱语的相关文章

(转).net开发者对android开发一周的学习体会

春节期间,相对比较闲,上班时也没什么事情做.利用这一周的时间,简单的学习了一下移动方面的开发.主要是针对android,其实我对IOS更感兴趣 (因为我用iphone),苦于暂时没有苹果电脑,只能把它放到以后学习.我的工作中暂时没有用到移动方面的开发,自己以前也一直做.net方面的应用.在这里以一个.net开发人员的思维记一下对android开发学习中的一点自己的心得和体会.初学者的胡言乱语,高手请一笑而过. 开发环境搭建 先下载JDK安装.对于android的SDK和eclipse,可以直接到

win10周年版eNSP中启动AR提示错误代码40问题

win 10操作系统中安装eNSP 1.2.00.380,一直运行正常,但在2016年11月升级win 周年版之后,启动AR时启动失败,提示错误代码40. 卸载eNSP及VirtualBox之后重装问题依旧.按照论坛和网上各种说法更新virtualbox修改虚拟网卡设置,或者重新注册都无法解决,最终多方查找终于找到解决方案. 环境:win10 周年版,eNSP 1.2.00.380,VirtualBox 4.2.8 eNSP注册后virtualbox管理器中会出现AR_Base,WLAN_AC_

每周进度条(第十五周)

第十五周进度条   第十五周 所花时间 1h 代码量(行)  100 博客量(篇)  1 学到的知识 对图片的处理 在Android程序中加入图片

201405644 嵌入式程序设计第五周学习总结

嵌入式课程设计第五周学习总结 标准 I/O 编程 标准 I/O 提供流缓冲的目的是尽可能减少使用 read()和 write()等系统调用的数量.标准 I/O 提供了 3 种类型 的缓冲存储.全缓冲.行缓冲.不带缓冲. 打开文件 打开文件有三个标准函数,分别为:fopen().fdopen()和 freopen().其中 fopen()可以指定打开文件的路径和模式,fdopen()可以指定打开的文件描述符和模式,而 freopen() 除可指定打开的文件.模式外,还可指定特定的 I/O 流. f

20155208徐子涵 2016-2017-2 《Java程序设计》第6周学习总结

20155208徐子涵 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 10.1.1 1.Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象. 2.若要将数据从来源中取出,可以使用输入串流:若要将数据写入目的地,可以使用输出串流.在java中,输入串流代表对象为java.in.InputStream的实例:输出串流代表对象为java.io.Outputstream的实例. 3.read()方法每次尝试读取数据,并返回实际读入的,只要不是负一

20155336 2016-2017-2《JAVA程序设计》第一周学习总结

# 20155336  2016-2017-2<JAVA程序设计>第1周学习总结 ## 教材学习内容总结 开学的第一周,带着些许的欣喜和好奇,听完了老师的第一堂课.说心里话学习JAVA仿佛观看一部英文影视作品一样头疼, 因为总会有许许多多相似的名字让你记得晕头转向.JAVA也是一样,什么JVM啊JRE啊JDK啊 (/(ㄒoㄒ)/~~)  等等一系列 的英文缩写,让人心神意乱~~但总体上对JAVA有了一个初步的了解.通过课上老师的介绍以及课下对JAVA书第一章的浏览, 我简单的了解了JAVA艰辛

《七周七数据库》读书分享

# 七周七数据库 读书分享会第一期 2017.02.12 <七周七数据库> - Eric Redmond ## 预备知识 ACID:原子 一致 隔离 持久 CAP原则:一致性 可用性 分区容错性,在分布式环境下,至多只能同时满足其二 "小明,你的数据库作业呢?""我可以今天提交一半的作业,或者明天提交全部的作业,但无法在今天提交全部的作业.""...小明你给我滚出去!" 小知识点: * 原子性:原子性代表中间状态的透明性,想象从a账户

20145336张子扬 《信息安全系统设计基础》第7周学习总结

20145336张子扬 <信息安全系统设计基础>第1周学习总结 教材学习内容总结 学习目标: 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 理解局部性原理 理解缓存思想 理解局部性原理和缓存思想在存储层次结构中的应用 高速缓存的原理和应用 三种常见存储技术:RAM.ROM和磁盘 随机访问存储器RAM分为静态RAM(SRAM)和动态RAM(DRAM) SRAM 用来作为高速缓存储存器,SRAM将每个位存储在一个双稳态的存储器单元里,每个单元是用一个六晶体管电路来实现的.它可以无限制地保

20145317《信息安全系统设计基础》第六周学习总结(1)

20145317<信息安全系统设计基础>第六周学习总结(1) 第四章 处理器体系结构 指令体系结构:一个处理器支持的指令和指令的字节级编码 4.1Y86指令集体系结构 Y86:包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. Y86程序中的每条指令都会读取或修改处理器状态的某些部分.Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC) Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态. 注意:条件