当前位置:  编程技术>移动开发
本页文章导读:
    ▪surfaceview与view的差异        surfaceview与view的区别 android2D游戏的开发中,主要用surfaceview与view。二者的区别1.画布的更新view是通过postInvalidate()与invalidate()执行的,也就是说画布是由系统的UI来进行更新的,但是.........
    ▪ 软键盘的有关问题        软键盘的问题 显示软键盘: InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); imm.showSoftInput(myview, Input.........
    ▪ Proguard搅混与JNI       Proguard混淆与JNI Android应用写好后,用proguard混淆代码是很必要的,如果应用里有JNI调用的时候,有时候会出一些问题,没有混淆的apk用的很正常,但混淆后运行就有错误~1. 有时progurad会把s.........

[1]surfaceview与view的差异
    来源: 互联网  发布时间: 2014-02-18
surfaceview与view的区别
android2D游戏的开发中,主要用surfaceview与view。二者的区别
1.画布的更新
view是通过postInvalidate()与invalidate()执行的,也就是说画布是由系统的UI来进行更新的,但是画布如果是更新时间太长,会造成UI线程阻塞,从而引发按键或者去、触屏幕无响应等问题
surfaceview是由新的线程单独执行,所以不会出现这类问题
2.试图机制
view没有双缓冲机制,surfaceview有
但是如果是一款棋牌类游戏,游戏画面是被动更新,画布的绘制是根据玩家的触屏或者按键来响应的话,这时建议用view,从而减少surfaceview单独开一个线程而带来的内存开销!
反之,如果是动作类游戏(RPG)建议surfaceview。
总体来说,surfaceview更适合2D游戏开发,但是具体是情况而定。

    
[2] 软键盘的有关问题
    来源: 互联网  发布时间: 2014-02-18
软键盘的问题

显示软键盘:

        InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
        imm.showSoftInput(myview, InputMethodManager.SHOW_IMPLICIT);

 

 

隐藏软键盘:

imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

  显示软键盘:

InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(myview, 0);

 

如果是在alertdialog中的自定义的布局edittext里面,弹出软键盘时,需要等alertdialog初始化完成后延时弹出,

Timer timer = new Timer();
		timer.schedule(new TimerTask() {

			public void run() {
				InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
				inputMethodManager.toggleSoftInput(0,
						InputMethodManager.HIDE_NOT_ALWAYS);
			}
		}, 500);

 

 显示软键盘

 android:windowSoftInputMode="stateVisible|adjustUnspecified"

 

 

隐藏软键盘

 android:windowSoftInputMode="adjustUnspecified|stateHidden"	

 


    
[3] Proguard搅混与JNI
    来源: 互联网  发布时间: 2014-02-18
Proguard混淆与JNI
Android应用写好后,用proguard混淆代码是很必要的,如果应用里有JNI调用的时候,有时候会出一些问题,没有混淆的apk用的很正常,但混淆后运行就有错误~

1. 有时progurad会把so库里的代码混淆,这样外部调用就会出现NoMethodFound的问题
2. proguard会把so库删掉,因为你应用里的代码里没有直接引用到so库,解包自己打包好的apk,看看有没有\libs\*.so文件存在
3. 除此之外,proguard也会把调用so库文件的代码混淆,同样会有NoMethodFound的问题

我在混淆自己应用的时候出现过这三种,研究了好半天,弄清楚导致失败的原因就能解决了,至于解决方法很简单,上网搜下,有很多文章讲的。。。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
博客 iis7站长之家
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3