当前位置: 首页 > news >正文

厦门网站建设推广换网站公司

厦门网站建设推广,换网站公司,营销网站试用,怎么建设网站网页游戏项目场景: Unity开发的项目需要在安卓4.4.2盒子上运行。 问题描述 1、会出"从顶部向下滑动即可退出全屏模式。"的弹框,这是android4.4的一个特性,叫做沉浸模式(Full-screen Immersive Mode),当app启用该模…

项目场景:

Unity开发的项目需要在安卓4.4.2盒子上运行。


问题描述

1、会出"从顶部向下滑动即可退出全屏模式。"的弹框,这是android4.4的一个特性,叫做沉浸模式(Full-screen Immersive Mode),当app启用该模式时,应用程序的界面会占据整个屏幕,屏幕上方的状态栏和下方的导航栏会被隐藏,从屏幕顶端向下滑动就可以再次呼出状态栏和导航栏,系统为了提醒用户就多加了一个提示装口。需要去掉这个弹框,否则用户无法进行下面的操作。
2、部分项目在启动过程中加载很慢,经测试有三款项目在启动过程有20-30秒的加载时间;加载时间过长需要优化。


原因分析:

1、安卓4.4以上的特性造成,但是大部分盒子针对这个特性做了优化,个别型号的盒子没有做优化所以会有这个问题出现。

2、加载问题可能造成的原因:资源过大、打包方式问题、加载方式问题。


解决方案:

1、

第一种方法:这个方法测试后不行,可能是我这边的问题

这个提示对于某些特殊的情况来说造成困扰,比如说某些深度定制的android系统无法使用鼠标或者触摸屏,打开全屏应用时,一旦出现了这个提示就无法消除,非常影响用户体验。所以需要去除这个提示窗口。


此处并不是说要去除android的沉浸模式这个特性,而是仅仅去掉这个提示窗口。


相关代码位于frameworks/base/policy/src/com/android/internal/policy/impl/目录下的ImmersiveModeConfirmation.java文件里,打开这个文件,找到:
 


private final class H extends Handler {private static final int SHOW = 0;private static final int HIDE = 1;@Overridepublic void handleMessage(Message msg) {switch(msg.what) {case SHOW:handleShow((String)msg.obj);break;case HIDE:handleHide();break;}}}

这段代码的功能就是呼出和隐藏提示窗口的,我们只需要屏蔽掉handleMessage方法中的handleShow((String)msg.obj)和handleHide()即可。

第二种方法:重新onWindowFocusChanged方法(此方法经测试cocos的可以去掉,unity的不行)

public void onWindowFocusChanged(boolean hasFocus){super.onWindowFocusChanged(hasFocus);
if(hasFocus){
showSystemUI();
}
}public void showSystemUI(){Handler mHandler = new Handler(){
public void handleMessage(Message msg){getWindow().getDecorView().setSystemUiVisibility()(View.SYSTEM_UI_FLAG_STABLE|View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);}};
mHandler.sendEmptyMessageDelayed(0,100);
}

重写后cocos项目可以去掉弹框正常运行了,但是Unity项目还是不行,继续找其他解决方法;

其他公司技术支持建议修改activity的theme:修改为“@android:style/Theme.Translucent.NoTitleBar.Fullscreen”

Application的theme修改为;

<style name="titleTheme" parent="android:Theme" ><!-- <item name="android:windowTitleSize">30dp</item>  --><item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item><item name="android:windowTitleStyle">@style/CustomWindowTitle</item><item name="android:windowTitleSize">0sp</item></style>

修改theme后还是不行;

第三种方法:使用Unity插件(unityShowAndroidStatusBar.aar)

这个插件网上应该能搜到,是有人封装好之后分享的。之前在遇到这个问题的时候,公司技术使用插件解决过类似问题,但是使用插件后还是不行,怀疑是unity版本问题,现在使用的是unity2019.4.9f1,之前使用的是unity5.4.5f1;所以,使用5.4.5版本Unity创建空项目添加插件后在盒子上运行,成功去掉弹框。所以,将所有项目从2019降版本到5.4.5(降版本很蛋疼)。

2、加载问题解决方案:(有加载问题的是Unity的项目,而且有三款没有加载问题,有三款有)先优化包体,包体从38兆优化到15兆,加载时间一样;继续修改打包方式,将打包方式改为和没有问题的项目一致,还是不行;用Unity打包改为导出后由androidstudio打包,还是不行;从log中看到加载进度在4%的时候等待了20秒才继续加载,而且中间没有报错;怀疑是有较大资源文件导致,检查项目发现有一个音频文件较大,有2.5M,直接去掉这个音频打包后测试,加载时间变为3秒,问题应该就出在音频文件上了,继续看另外两款游戏,果然都有较大的音频文件,将音频文件压缩到300Kb大小,打包后测试,加载依旧很快,至此,问题解决,全部压缩音频文件,全部重新打包,测试后全部通过。

插件我回头会上传到csdn,或者私信找我拿就行。

http://www.yayakq.cn/news/596211/

相关文章:

  • 推广图片背景图2016网站优化
  • 北仑静态网站建设狐表做网站
  • 网站截图可以做证据吗漳州 网站建设多少钱
  • 做a图片视频在线观看网站地方门户网站有哪些
  • 杭州企业网站优化做网站一般需要哪些文件夹
  • 做网站的皮包公司在线crm系统功能模块分析
  • xampp本地搭建网站网站建设经费管理
  • 北京网站模仿哈尔滨优化网站排名
  • 查看网站开发技术苏州的建筑公司网站
  • 北京有一个公司打电话做网站认证功能多的网站模板 中文内容
  • 安徽省网站建设销售管理系统网站模板
  • 园林绿化东莞网站建设网站建设加盟合作
  • 上市设计网站长沙网站设计联系地址
  • 网站建设的空间是什么网站建设费与网络维护费区别
  • 培训教育类网站模板长沙网站建设搭建
  • 网站后台如何登录做网站需要的企业
  • 网站开发技术方案腾讯云服务器手动WordPress
  • 手表网站app自己怎么做免费网站空间
  • 蒙古语网站建设最好加盟网站建设
  • 做视频网站用哪个模板手机特效视频制作软件免费
  • 重庆网站seo营销模板还有哪些方法让网站更加利于seo
  • 华为网站的建设目标建立网站基本步骤
  • 网站留言表格怎么做漳州专业网站建设费用
  • 专业做装修的网站wordpress 检测redis
  • 网站开发有哪些公司网站制作哪家好
  • 百度收录网站但首页快照不更新江阴企业网站建设哪家好
  • 网站开发进程报告黑彩网站建设运营
  • 哪些行业做网站多自己做的网站被攻击了
  • 一键生成表白网站dedecms网站迁移
  • 唯品会 一家专门做特卖的网站建筑设计网站排行榜