关于嵌在WEBVIEW中的网页游戏的载入优化研究
来源:互联网 发布:光纤宽带软件 编辑:程序博客网 时间:2024/05/29 07:24
前端时间,实习公司里要做一个WEB_app 在安卓平台上,具体是什么就不细说了。
在APP中 ,几乎所有的页面都是网页 ,有WEBVIEW来显示的结构。
当中有一个画面是比较复杂的,有较多的动画和交互,原定是用原生安卓来开发这个页面,但是我作为没有工资的实习生,居然表示不服!你敢信?
我觉得应该也用WEB来做,以后做其他平台的时候也可以用,后来我抽了点时间做了一个简单的demo,使用游戏引擎实现的,
大家都知道最近白鹭游戏引擎十分的热,所以最后我是用COCOS2D-JS实现的这个DEMO.....不要问我为什么。
DEMO 做好后,公司的大佬都表示 很好!很好!流畅!漂亮!跨平台!
但是就是加载的时间太长,万一人家用2G网呢?半天打不开!商量下来,最后还是决定用原生android!!!你敢信?要让我用原生安卓做这个....
作为没有工资的实习生,我又表示不服!!我说这可以优化的,给我点时间我找找,大佬们表示:来不及,你小子快用原生安卓写吧!!
于是,作为没有工资的实习生,我屈服了....
但是我还是花时间找了,看看能不能把庞大引擎的文件 直接放在ANDROID 本地,其实也不大...
网上的资料不多,最终还是弄出来了,跟大家分享
-------------------------------------------故事结束-------------------------------------------------------------------------------------------
主要思路 使用ContentProvider 共享手机中的文件 让网页访问androidSD卡中的内容
先把网页要用的JS CSS 图片音频什么的 都放到手机的SD下面(用程序里面代码放啊,不是把用户的手机抢过来放!)
目录:SD卡:/html/a.png
import java.io.File;import java.io.FileNotFoundException;import android.content.ContentProvider;import android.content.ContentValues;import android.content.res.AssetFileDescriptor;import android.content.res.AssetManager;import android.database.Cursor;import android.net.Uri;import android.os.ParcelFileDescriptor;import android.util.Log;public class cctt extends ContentProvider {private static final String URI_PREFIX = "content://darkzone.game.zed.yang";@Override public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException { Log.e("path1:", uri.getPath()); File file = new File(uri.getPath()); ParcelFileDescriptor parcel = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY); return parcel; } @Override public AssetFileDescriptor openAssetFile (Uri uri, String mode) throws FileNotFoundException{ AssetManager am = getContext().getAssets(); String path = uri.getPath().substring(1); Log.e("path:", path); String tpath = "/sdcard/html/"+path; File file = new File(tpath); if (file.exists()) { Log.e("path2:", tpath); Uri turi = Uri.parse(URI_PREFIX+tpath); return super.openAssetFile(turi, mode); } return super.openAssetFile(uri, mode); } @Overridepublic boolean onCreate() {// TODO Auto-generated method stubreturn false;}@Overridepublic Cursor query(Uri uri, String[] projection, String selection,String[] selectionArgs, String sortOrder) {// TODO Auto-generated method stubreturn null;}@Overridepublic String getType(Uri uri) {// TODO Auto-generated method stubreturn null;}@Overridepublic Uri insert(Uri uri, ContentValues values) {// TODO Auto-generated method stubreturn null;}@Overridepublic int delete(Uri uri, String selection, String[] selectionArgs) {// TODO Auto-generated method stubreturn 0;}@Overridepublic int update(Uri uri, ContentValues values, String selection,String[] selectionArgs) {// TODO Auto-generated method stubreturn 0;}}
网页中这样写:
<html><head><script type="text/javascript" src="content://darkzone.game.zed.yang/sdcard/html/a.js"></script></head><body><img src="content://darkzone.game.zed.yang/sdcard/html/a.png" /><script>a('aaa');</script></body></html>
在AndroidManifest.xml中还需要加入
<provider android:name="cctt" android:authorities="darkzone.game.zed.yang"></provider>
这样网页就会使用SD卡里面的资源
欢迎留言..虽然从来没人留言......
欢迎光顾我自己搞的小窝DarkZone 虽然没有做完,开发也停滞了,最近没空,人也浮躁,收收心再出发。
点击进入DarkZone 暗域游戏
转载请注明 出处 谢谢大家:http://blog.csdn.net/ycd_harry/article/details/42237797
- 关于嵌在WEBVIEW中的网页游戏的载入优化研究
- 关于游戏中的分享之ShareSDK的研究
- 关于游戏中的分享之ShareSDK的研究续一
- 在WebView中获取网页中的内容
- 关于MyEclipse在载入CVS中的工程后,工程无法运行的解决
- WebView 载入本地的html
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- ANDROID的WEBVIEW控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- [Android分享] ANDROID的WEBVIEW控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- ANDROID的WEBVIEW控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- 由于文件编码问题造成json_encode 中文变成null的解决办法
- oracle中的exists 和not exists 用法
- Decode Ways
- iOS UICollectionView学习之一,UICollectionView + storyboard 简单应用
- 从微信营销优势看营销方式
- 关于嵌在WEBVIEW中的网页游戏的载入优化研究
- android studio 打包第三方so库到apk
- 【Java】定时关机源码
- 管理Activity的生命周期(2)Pausing和Resuming
- 织梦DedeCMS启用二级域名图片路径错误问题的解决办法
- java泛型类
- 最快速度查看windows系统 IIS 并发连接数和共享文件夹最大连接数的方法
- 大型特卖场寻求鞋包衣服商家驻场
- Unsolved bug in fltk-1.1.10/src/filename_list.cxx for scandir --已解决!