android OpenGl 游戏编写过程
来源:互联网 发布:网络接入设备 编辑:程序博客网 时间:2024/05/16 09:03
1、数据在两个线程里面运行,如何避免冲突,在Touch Listener里面和在draw里面
http://blog.csdn.net/zhikun518/article/details/7526298
http://www.cnblogs.com/devinzhang/archive/2011/12/14/2287675.html
为什么会出现这样的问题?这就是多线程中的同步的问题。在我们的程序中,Account中的amount会同时被多个线程所访问,这就是一个竞争资源,通常称作竞态条件。对于这样的多个线程共享的资源我们必须进行同步,以避免一个线程的改动被另一个线程所覆盖。在我们这个程序中,Account中的amount是一个竞态条件,所以所有对amount的修改访问都要进行同步,我们将deposit()和withdraw()方法进行同步,修改为:
(1)类是实例两个线程调用两个函数方法的时候:
public synchronized void deposit(float amt)
public synchronized void withdraw(float amt)
(2)多个类的实例在多个线程中运行保持静态变量的同步
private static Object lock=new Object();
public void printVal(int v)
{
synchronized(lock) {
while(true)
System.out.println(v);
}
}
2、SimpleOnGestureListener
(1)点击屏幕上的某项的执行流程 有两种情况,一种是时间很短,一种时间稍长
时间很短:onDown--------》onSingleTapUp--------》onSingleTapConfirmed
时间稍长:onDown--------》onShowPress------》onSingleTapUp--------》onSingleTapConfirmed
(2)长按事件
onDown--------》onShowPress------》onLongPress
(3)抛:手指触动屏幕后,稍微滑动后立即松开
onDown-----》onScroll----》onScroll----》onScroll----》………----->onFling
(4)拖动
onDown------》onScroll----》onScroll------》onFiling
注意:有的时候会触发onFiling,但是有的时候不会触发,个人理解是人的动作不标准所致。
3、bitmap回收 http://hi.baidu.com/huazai30000/item/3675d7a909f3e2971510731a
第一种方法--及时回收bitmap内存:
一般而言,回收bitmap内存可以用到以下代码
if(bitmap != null && !bitmap.isRecycled()){
bitmap.recycle();
bitmap = null;
}
System.gc();
在纹理里面,将Rsource转化为纹理之后,bmp就没有用了,需要回收
4、中英文在java中占得字节数,中文英文在java中的char是两个字节的,在C++是一个字节的,对于string,在java中每个字符是两个字节的,所以"我"ength是返回1的,C++中string("我")是分两个位置存储的,str[0]显示不出"我"
- android OpenGl 游戏编写过程
- OpenGL编写游戏(VC++)
- 编写Android象棋游戏
- Android OpenGL 编写简单滤镜
- android游戏开发-OPENGL ES
- 从零开始使用C ++和OpenGL编写游戏引擎
- 从零开始使用C ++和OpenGL编写游戏引擎-01-简介
- android 游戏导引(1. 建立 OpenGL 项目)
- android 游戏 OpenGL ES2.0 未完成
- Android驱动程序编写过程记录
- Android OpenGL库加载过程源码分析
- Android OpenGL库加载过程源码分析
- Android SurfaceFlinger之OpenGL库加载过程
- QT5下简易扫雷游戏的编写(过程详细)
- 自己编写游戏-----android数独游戏下载
- 使用Android的OpenGL编写视频播放器
- 使用Android的OpenGL编写视频播放器
- Android OpenGL(二) 学习《Android 3D 游戏开发技术宝典 -openGL ES 2.0》
- Mirantis Fuel安装openstack环境笔记之初探fuel
- maven Missing artifact com.sun:tools:jar:1.5.0
- 新手学习ios开发的路线图
- drupal7 通过数据库设置默认主题
- 学习小结
- android OpenGl 游戏编写过程
- PowerDesigner逆向工程
- oracle中常用查询总结
- 如何看MS SQLSERVER数据库的执行计划
- js/jquery随机放置网页内容
- python第二天_网络爬虫
- Data Clustering:A Review
- jsp实现拒绝IP为。。的用户
- Android-小项目之迷你英文词典-使用existing sqlite database-github第三库android-sqlite-asset-helper