当前位置: 首页 > 专利查询>中南大学专利>正文

一种Android程序的流式执行方法技术

技术编号:10049873 阅读:131 留言:0更新日期:2014-05-15 20:15
本发明专利技术公开了一种Android程序的流式执行方法,将Android程序分解成功能独立的被调用程序单元模块,被调用程序单元模块存储于服务器上,利用下载模块从服务器下载被调用程序单元模块及图片到手机SD卡,由缓存管理模块记录已下载的被调用程序单元模块及图片文件的存储路径,利用流式执行模块依次从缓存管理模块获取被调用程序单元模块和图片的存储路径,通过动态加载模块依据被调用程序单元模块的存储路径动态加载被调用程序单元模块的Activity并生成实例,由流式执行模块控制上一步生成的Activity实例运行,从而完成程序的执行;利用该方法按需下载被调用程序单元模块和图片资源即可开始运行,免除安装过程,缩短用户下载程序安装包的时间,改善了用户使用程序的方式。

【技术实现步骤摘要】

本专利技术涉及插件处理
,特别是涉及一种Android程序的流式执行方法
技术介绍
目前,Android系统已成为市场占有率最高的智能手机操作系统。一个Android程序通常由多个Activity(Android中负责产生用户界面,处理用户事件的组件)组成,各Activity彼此独立,通过Android系统传递参数协同工作。Android程序必须有一个Activity被指定为主Activity,它是程序启动时首先显示的界面。一个Android程序中的每个Activity都可以通过Android系统启动其它的Activity。每当一个Activity被启动时,前一个Activity就被停止并放入Android系统维护的一个栈中。在当前活动的Activity上触发返回键,该Activity被销毁,然后上一个Activity从栈中被恢复。当一个Activity因为新的Activity启动而被停止时,它会收到自身状态变化的通知,这样的变化有多个,如创建、停止、恢复和销毁,每个状态变化都会引起Android系统调用一个相应的回调方法(onCreate(Bundle)、onStart()、onResume()、onPause()、onStop()和onDestroy()等方法)以通知Activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。Android程序以APK(Android Package)格式程序安装包形式发布,安装包里包括所有程序代码和运行所需资源(如图片文件,音频文件等)。常用Android程序功能都比较丰富,APK安装包的体积不断增大。尤其是手机游戏等娱乐程序,为了提供更好的界面效果和用户体验,使用了大量的图片,甚至占据了APK安装包体积的一半以上。对于试用的程序(如新发布的游戏程序)和使用频率很低的程序(如景点导航程序),强制用户花费较长的时间下载APK安装包,经历繁琐复杂的安装和卸载过程,这严重损害了用户体验。Java从JDK1.0(Java开发工具包)就开始提供类加载器,使得Java类可以被动态加载到Java虚拟机中执行。Android也提供了DexClassLoader类用以实现从APK安装包动态加载Java类到Android Dalvik虚拟机,然后可利用Java反射机制动态创建Java类的实例并运行。
技术实现思路
本专利技术提供了一种Android程序的流式执行方法,其目的在于克服现有技术中Android程序由于所占空间较大,导致用户下载程序安装包时间长,程序安装卸载过程繁杂,使用频率较低的程序浪费手机存储空间的问题。一种Android程序的流式执行方法,将Android程序分解成功能独立的被调用程序单元模块,被调用程序单元模块存储于服务器上,利用下载模块从服务器下载被调用程序单元模块及图片到手机SD卡,由缓存管理模块记录已下载的被调用程序单元模块及图片文件的存储路径,利用流式执行模块依次从缓存管理模块获取被调用程序单元模块和图片的存储路径,通过动态加载模块依据被调用程序单元模块的存储路径动态加载被调用程序单元模块的Activity并生成实例,由流式执行模块控制上一步生成的被调用程序单元模块的Activity实例运行,从而完成程序的执行;所述被调用程序单元模块是只包含Android程序中一个Activity的APK安装包,按以下要求编写Activity并进行编译获得:1)在Activity中添加两个成员变量,分别用于保存对流式执行模块实例的引用和对本Activity的用户界面实例的引用;2)用流式执行模块实例的引用作为Activity的Context实例的引用,即Activity中需要Context实例引用的代码传入流式执行模块实例引用;Activity中加载图片的功能通过调用流式执行模块实例的图片加载函数生成Drawable实例来实现;3)在Activity的onCreate(Bundle)方法中,将显示用户界面的代码替换为保存用户界面实例的引用到Activity的成员变量的代码,并在Activity的onResume()方法中添加显示用户界面的代码;4)添加四个函数,分别定义为创建函数、恢复函数、停止函数以及销毁函数:5)创建函数以流式执行模块实例的引用作为参数,保存流式执行模块实例的引用到Activity的成员变量,并调用Activity的onCreate(Bundle)函数;恢复函数用来调用Activity的onStart()函数和onResume()函数;停止函数用来调用Activity的onPause()函数和onStop()函数;销毁函数用来调用Activity的onDestroy()函数。所述流式执行模块对按以下要求编写的一个Activity进行编译获得:1)新建一个Activity,并在Activity中添加四个成员变量,分别用于保存正运行的被调用程序单元模块的Activity实例、前一个被调用程序单元模块的Activity实例传递给后一个被调用程序单元模块的Activity实例的参数、后一个运行完成的被调用程序单元模块的Activity实例返回给前一个被调用程序单元模块的Activity实例的结果以及在正运行的被调用程序单元模块的Activity实例之前运行过且未被销毁的被调用程序单元模块的Activity实例;2)在新建的Activity的onCreate(Bundle)函数中初始化添加的四个成员变量,从Bundle中取得需要执行的被调用程序单元模块的标示符,调用动态加载函数;在onResume()函数中调用当前运行的被调用程序单元模块的Activity实例的恢复函数;在onStop()函数中调用当前运行的被调用程序单元模块的Activity实例的停止函数;3)在新建的Activity中添加动态加载函数,动态加载函数根据传入的被调用程序单元模块的标示符调用动态加载模块生成被调用程序单元模块的Activity实例并将生成的被调用程序单元模块的Activity实例保存在成员变量中,调用上一步生成的被调用程序单元模块实例的创建函数;4)在新建的Activity中添加图片加载函数,图片加载函数根据传入的图片的标示符,利用Android的BitmapFactory类生成Drawable实例;5)在新建的Activity中添加跳转函数,跳转函数调用当前运行的被调用程序单元模块的Activity实例的停止函数,根据传入的被调用程序单元模块的标示符调用动态本文档来自技高网
...

【技术保护点】
一种Android程序的流式执行方法,其特征在于,将Android程序分解成功能独立的被调用程序单元模块,被调用程序单元模块存储于服务器上,利用下载模块从服务器下载被调用程序单元模块及图片到手机SD卡,由缓存管理模块记录已下载的被调用程序单元模块及图片文件的存储路径,利用流式执行模块依次从缓存管理模块获取被调用程序单元模块和图片的存储路径,通过动态加载模块依据被调用程序单元模块的存储路径动态加载被调用程序单元模块的Activity并生成实例,由流式执行模块控制上一步生成的Activity实例运行,从而完成程序的执行;所述被调用程序单元模块是只包含Android程序中一个Activity的APK安装包,按以下要求编写Activity并进行编译获得:1)在Activity中添加两个成员变量,分别用于保存对流式执行模块实例的引用和对本Activity的用户界面实例的引用;2)用流式执行模块实例的引用作为Activity的Context实例的引用,即Activity中需要Context实例引用的代码传入流式执行模块实例引用;Activity中加载图片的功能通过调用流式执行模块实例的图片加载函数生成Drawable实例来实现;3)在Activity的onCreate(Bundle)方法中,将显示用户界面的代码替换为保存用户界面实例的引用到Activity的成员变量的代码,并在Activity的onResume()方法中添加显示用户界面的代码;4)添加四个函数,分别定义为创建函数、恢复函数、停止函数以及销毁函数:5)创建函数以流式执行模块实例的引用作为参数,保存流式执行模块实例的引用到Activity的成员变量,并调用Activity的onCreate(Bundle)函数;恢复函数用来调用Activity的onStart()函数和onResume()函数;停止函数用来调用Activity的onPause()函数和onStop()函数;销毁函数用来调用Activity的onDestroy()函数。...

【技术特征摘要】
1.一种Android程序的流式执行方法,其特征在于,将Android程序分解成功能独立的被
调用程序单元模块,被调用程序单元模块存储于服务器上,利用下载模块从服务器下载被调
用程序单元模块及图片到手机SD卡,由缓存管理模块记录已下载的被调用程序单元模块及
图片文件的存储路径,利用流式执行模块依次从缓存管理模块获取被调用程序单元模块和图
片的存储路径,通过动态加载模块依据被调用程序单元模块的存储路径动态加载被调用程序
单元模块的Activity并生成实例,由流式执行模块控制上一步生成的Activity实例运行,从而
完成程序的执行;
所述被调用程序单元模块是只包含Android程序中一个Activity的APK安装包,按以下
要求编写Activity并进行编译获得:
1)在Activity中添加两个成员变量,分别用于保存对流式执行模块实例的引用和对本
Activity的用户界面实例的引用;
2)用流式执行模块实例的引用作为Activity的Context实例的引用,即Activity中需要
Context实例引用的代码传入流式执行模块实例引用;Activity中加载图片的功能通过调用流
式执行模块实例的图片加载函数生成Drawable实例来实现;
3)在Activity的onCreate(Bundle)方法中,将显示用户界面的代码替换为保存用户界面
实例的引用到Activity的成员变量的代码,并在Activity的onResume()方法中添加显示用
户界面的代码;
4)添加四个函数,分别定义为创建函数、恢复函数、停止函数以及销毁函数:
5)创建函数以流式执行模块实例的引用作为参数,保存流式执行模块实例的引用到
Activity的成员变量,并调用Activity的onCreate(Bundle)函数;
恢复函数用来调用Activity的onStart()函数和onResume()函数;
停止函数用来调用Activity的onPause()函数和onStop()函数;
销毁函数用来调用Activity的onDestroy()函数。
2.根据权利要求1所述的Android程序的流式执行方法,其特征在于,所述流式执行模块
对按以下要求编写的一个Activity进行编译获得:
1)新建一个Activity,并在Activity中添加四个成员变量,分别用于保存正运行的被调用
程序单元模块的Activity实例、前一个被调用程序单元模块的Activity实例传递给后一个被调
用程序单元模块的Activity实例的参数、后一个运行完成的被调用程序单元模块的Activity
实例返回给前一个被调用程序单元模块的Activity实例的结果以及在正运行的被调用程序单
元模块的Activity实例之前运行过且未被销毁的被调用程序单元模块的Activity实例;
2)在新建的Activity的onCreate(B...

【专利技术属性】
技术研发人员:张尧学王国军徐旸陈建二王洁
申请(专利权)人:中南大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1