CN103793257B - 一种Android程序的流式执行方法 - Google Patents
一种Android程序的流式执行方法 Download PDFInfo
- Publication number
- CN103793257B CN103793257B CN201410083601.3A CN201410083601A CN103793257B CN 103793257 B CN103793257 B CN 103793257B CN 201410083601 A CN201410083601 A CN 201410083601A CN 103793257 B CN103793257 B CN 103793257B
- Authority
- CN
- China
- Prior art keywords
- activity
- function
- module
- program unit
- unit module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种Android程序的流式执行方法,将Android程序分解成功能独立的被调用程序单元模块,被调用程序单元模块存储于服务器上,利用下载模块从服务器下载被调用程序单元模块及图片到手机SD卡,由缓存管理模块记录已下载的被调用程序单元模块及图片文件的存储路径,利用流式执行模块依次从缓存管理模块获取被调用程序单元模块和图片的存储路径,通过动态加载模块依据被调用程序单元模块的存储路径动态加载被调用程序单元模块的Activity并生成实例,由流式执行模块控制上一步生成的Activity实例运行,从而完成程序的执行;利用该方法按需下载被调用程序单元模块和图片资源即可开始运行,免除安装过程,缩短用户下载程序安装包的时间,改善了用户使用程序的方式。
Description
技术领域
本发明涉及插件处理技术领域,特别是涉及一种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从JDK 1.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实例保存在成员变量中,调用上一步生成的被调用程序单元模块Activity实例的创建函数;
4)在新建的Activity中添加图片加载函数,图片加载函数根据传入的图片的标示符,利用Android的BitmapFactory类生成Drawable实例;
5)在新建的Activity中添加跳转函数,跳转函数调用当前运行的被调用程序单元模块的Activity实例的停止函数,根据传入的被调用程序单元模块的标示符调用动态加载函数,并调用新生成被调用程序单元模块的Activity实例的恢复函数;
6)在新建的Activity中添加回退函数,回退函数调用当前运行的被调用程序单元模块的Activity实例的停止函数和销毁函数,从流式执行模块成员变量中获取前一个运行的被调用程序单元模块的Activity实例并保存在成员变量中,调用前一个运行的被调用程序单元模块的Activity实例的恢复函数;
7)在新建的Activity中添加参数设置函数和参数获取函数,参数设置函数将传入的键值对形式参数保存在成员变量中,参数获取函数根据传入的参数从成员变量中取出对应的值。这对函数用于被调用程序单元模块的Activity实例间传递参数;
8)在新建的Activity中添加结果设置函数和结果获取函数,结果设置函数将传入的键值对形式参数保存在成员变量中,,结果获取函数根据传入的参数从成员变量中取出对应的值。这对函数用于被调用程序单元模块的Activity实例间传递结果。
所述下载模块采用HTTP协议实现的程序库进行资源文件的下载。
利用Java集合库中的HashMap实现缓存管理。
所述被调用程序单元模块的标示符为统一资源定位符URL。
所述动态加载模块是基于Java的反射机制,利用Android提供的DexClassloader加载器动态加载被调用程序单元模块并创建Activity实例。
有益效果
本发明提供了一种Android程序的流式执行方法,其优点具体体现在以下几个方面:
1)将Android程序分解成功能独立的被调用程序单元模块,每个被调用程序单元模块以APK安装包的形式存储,将原本一个应用程序分散到了多个安装包中,由于每个安装包的大小远小于一个应用程序的安装包大小,从而减少了单次进行应用程序安装包下载的数据量;
2)将图片从应用程序安装包中分离出来,利用流式执行模块提供的图片加载函数动态从服务器获取图片生成Drawable对象,在动态加载被调用程序单元时引用对应图片资源,进一步减少了单次下载的数据量,加快了程序加载运行速度;
3)按需流式加载程序,减少用户等待程序下载的时间,免除安装过程,且只有被执行的程序模块才会被下载,不被使用的模块不会被下载,改善用户体验。
附图说明
图1为本发明所述方法的示意图;
图2为流式执行模块的定义示意图;
图3为被调用程序单元模块的定义示意图;
具体实施方式
下面将结合附图和实施例对本发明作进一步的补充说明。
如图1所示,一种Android程序的流式执行方法,将Android程序分解成功能独立的被调用程序单元模块,被调用程序单元模块存储于服务器上,利用下载模块从服务器下载被调用程序单元模块及图片到手机SD卡,由缓存管理模块记录已下载的被调用程序单元模块及图片文件的存储路径,利用流式执行模块依次从缓存管理模块获取被调用程序单元模块和图片的存储路径,通过动态加载模块依据被调用程序单元模块的存储路径动态加载被调用程序单元模块的Activity并生成实例,由流式执行模块控制上一步生成的被调用程序单元模块的Activity实例运行,从而完成程序的执行;
所述被调用程序单元模块是只包含Android程序中一个Activity的APK安装包,如图2所示编写Activity的子类CalledActivity并进行编译获得,具体要求如下:
1)在CalledActivity中添加两个成员变量,ca用于保存对流式执行模块实例的引用,view用于保存对本Activity的用户界面实例的引用;
2)用ca作为Activity的Context实例的引用,即Activity中需要Context实例引用的代码传入ca,Activity中加载图片的功能通过调用CallActivity实例的loadImage(Uri)函数生成Drawable实例来实现;
3)在Activity的onCreate(Bundle)方法中,将显示用户界面的代码替换为保存用户界面实例的引用到view的代码,并在Activity的onResume()方法中添加ca.setContent(view);
4)添加四个函数,分别为创建函数create(CallActivity)、恢复函数resume()、停止函数stop()以及销毁函数destroy():
5)创建函数以CallActivity实例的引用作为参数,保存CallActivity的引用到ca,并调用Activity的onCreate(Bundle)函数;
恢复函数用来调用Activity的onStart()函数和onResume()函数;
停止函数用来调用Activity的onPause()函数和onStop()函数;
销毁函数用来调用Activity的onDestroy()函数。
如图1中,应用程序A被分解成3个被调用程序单元模块,即3个程序子安装包;应用程序B被分解成4个被调用程序单元模块,即4个程序子安装包。
在执行程序A时,利用流式执行模块按需下载并加载应用程序A中的程序子安装包运行。假设程序A是一个短信程序,它包括短信列表单元模块用于显示短信列表,短信编辑单元模块用于编辑发送短信,短信显示单元模块用于显示短信的具体内容。流式执行模块首先下载短信列表单元模块所在的子安装包并动态加载执行;当用户点击短信列表模块上某条短信时,流式执行模块按需用服务器下载短信显示单元模块所在的子安装包并动态加载执行,显示用户刚才点击短信的具体内容。如果用户不需要编辑短信,流式执行模块则不会从服务器下载短信编辑模块所在的子安装包。当一个Android程序拥有大量功能模块,而用户只需要使用少数模块时(如微信,最常用的也就是语聊模块),系统不会耗费多余资源加载其它未使用的功能模块。进一步的,缓存管理模块可以避免常用单元模块的再次下载,更进一步的,可以在缓存管理模块中采用预取技术,在程序当前单元模块运行时从服务器下载即将执行的单元模块所在子安装包,加快程序响应速度。
所述流式执行模块如图3所示编写Activity的子类CallActivity并进行编译获得,具体要求如下:
1)新建一个CallActivity,并在CallActivity中添加四个成员变量,curActivity用于保存正运行的CalledActivity实例、request用于保存前一个CalledActivity实例传递给后一个CalledActivity实例的参数、result用于保存后一个运行完成的CalledActivity实例返回给前一个CalledActivity实例的结果,stack用于保存在正运行的CalledActivity实例之前运行过且未被销毁的CalledActivity实例;
2)在新建的CallActivity的onCreate(Bundle)函数中初始化添加的四个成员变量,从Bundle中取得需要执行的被调用程序单元模块的标示符,调用动态加载函数loadCalledActivity(Uri);
在onResume()函数中调用当前运行CalledActivity实例的恢复函数resume();
在onStop()函数中调用当前运行CalledActivity实例的停止函数stop();
3)在新建的CallActivity中添加动态加载函数loadCalledActivity(Uri),动态加载函数根据传入的被调用程序单元模块的标示符调用动态加载模块生成CalledActivity实例并生成的CalledActivity实例保存在成员变量curActivity中,调用curActivity.create(this);
4)在新建的CalledActivity中添加图片加载函数loadImage(Uri),图片加载函数根据传入的图片的标示符,利用Android的BitmapFactory类生成Drawable实例;
5)在新建的CalledActivity中添加跳转函数startActivity(Uri),跳转函数调用
curActivity.stop(),根据传入的被调用程序单元模块的标示符调用loadCalledActivity(Uri),并调用curActivity.resume();
6)在新建的CallActivity中添加回退函数back(),回退函数调用curActiviy.stop()和curActivity.destroy(),从stack中获取前一个运行的CalledActivity实例并保存在curActivity中,调用curActivity.resume();
7)在新建的CallActivity中添加参数设置函数setRequestParameter(String,Object)和参数获取函数getRequest(String),参数设置函数将传入的键值对形式参数保存在request中,参数获取函数根据传入的参数从request中取出对应的值。这对函数用于在CalledActivity实例间传递参数;
8)在新建的CalledActivity中添加结果设置函数setResult(String,Object)和结果获取函数getResult(String),结果设置函数将传入的键值对形式参数保存在result中,,结果获取函数根据传入的参数从result中取出对应的值。这对函数用于在CalledActivity实例间传递结果。
利用Java集合库中的HashMap实现缓存管理。
所述被调用程序单元模块的标示符为统一资源定位符URL。
所述动态加载模块是基于Java的反射机制,利用Android提供的DexClassloader加载器动态加载被调用程序单元模块并创建Activity实例。
根据上述实例提供的方法,实现了在Android平台上对Android程序进行流式执行,按需下载被调用程序单元模块,跳过了繁杂的安装步骤,缩短用户下载程序安装包的时间,改善了用户体验。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。
Claims (6)
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(Bundle)函数中初始化添加的四个成员变量,从Bundle 中取得需要执行的被调用程序单元模块的标示符,调用动态加载函数;
在onResume()函数中调用当前运行的被调用程序单元模块的Activity实例的恢复函数;
在onStop()函数中调用当前运行的被调用程序单元模块的Activity实例的停止函数;
3)在新建的Activity中添加动态加载函数,动态加载函数根据传入的被调用程序单元模块的标示符调用动态加载模块生成被调用程序单元模块的Activity实例并将生成的被调用程序单元模块的Activity实例保存在成员变量中,调用上一步生成的被调用程序单元模块Activity实例的创建函数;
4)在新建的Activity中添加图片加载函数,图片加载函数根据传入的图片的标示符,利用Android的BitmapFactory类生成Drawable实例;
5)在新建的Activity中添加跳转函数,跳转函数调用当前运行的被调用程序单元模块的Activity实例的停止函数,根据传入的被调用程序单元模块的标示符调用动态加载函数,并调用新生成被调用程序单元模块的Activity实例的恢复函数;
6)在新建的Activity中添加回退函数,回退函数调用当前运行的被调用程序单元模块的Activity实例的停止函数和销毁函数,从流式执行模块成员变量中获取前一个运行的被调用程序单元模块的Activity实例并保存在成员变量中,调用前一个运行的被调用程序单元模块的Activity实例的恢复函数;
7)在新建的Activity中添加参数设置函数和参数获取函数,参数设置函数将传入的键值对形式参数保存在成员变量中,参数获取函数根据传入的参数从成员变量中取出对应的值,这对函数用于被调用程序单元模块的Activity实例间传递参数;
8)在新建的Activity中添加结果设置函数和结果获取函数,结果设置函数将传入的键值对形式参数保存在成员变量中,结果获取函数根据传入的参数从成员变量中取出对应的值,
这对函数用于被调用程序单元模块的Activity实例间传递结果。
3.根据权利要求2所述的Android程序的流式执行方法,其特征在于,所述下载模块采用Android的HttpClient进行资源文件的下载。
4.根据权利要求3所述的Android程序的流式执行方法,其特征在于,利用Java集合库中的HashMap实现缓存管理。
5.根据权利要求4所述的Android程序的流式执行方法,其特征在于,所述被调用程序单元模块的标示符为统一资源定位符URL。
6.根据权利要求1-5任一项所述的Android程序的流式执行方法,其特征在于,所述动态加载模块是基于Java的反射机制,利用Android提供的DexClassloader加载器动态加载被调用程序单元模块并创建Activity实例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410083601.3A CN103793257B (zh) | 2014-03-07 | 2014-03-07 | 一种Android程序的流式执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410083601.3A CN103793257B (zh) | 2014-03-07 | 2014-03-07 | 一种Android程序的流式执行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793257A CN103793257A (zh) | 2014-05-14 |
CN103793257B true CN103793257B (zh) | 2016-08-24 |
Family
ID=50668972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410083601.3A Active CN103793257B (zh) | 2014-03-07 | 2014-03-07 | 一种Android程序的流式执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103793257B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547624A (zh) * | 2016-11-04 | 2017-03-29 | 武汉斗鱼网络科技有限公司 | 基于Android的图片加载方法及装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123181A (zh) * | 2014-07-10 | 2014-10-29 | 深圳市云宙多媒体技术有限公司 | 一种界面切换到后台运行自动刷新数据的方法和系统 |
CN104133695A (zh) * | 2014-07-15 | 2014-11-05 | 珠海金山网络游戏科技有限公司 | 一种软件客户端的制作及应用方法 |
CN104158886B (zh) * | 2014-08-21 | 2017-05-24 | 中南大学 | 一种应用程序的流式执行方法 |
CN104375861B (zh) * | 2014-11-04 | 2017-06-09 | 北京奇虎科技有限公司 | 基于安卓平台的应用程序免安装运行的方法、装置及终端 |
CN105487935B (zh) * | 2015-12-07 | 2017-06-23 | 中南大学 | 一种基于环境感知的主动服务获取方法 |
CN105426216B (zh) * | 2015-12-11 | 2019-01-15 | 中南大学 | 一种基于透明计算的智能终端软件更新方法 |
CN106909408B (zh) * | 2015-12-23 | 2020-09-11 | 北京奇虎科技有限公司 | 一种调用应用程序的apk插件的方法及装置 |
CN106909409A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种运行应用程序的apk插件的方法及装置 |
US9817648B2 (en) * | 2016-01-15 | 2017-11-14 | Google Inc. | Application containers with dynamic sub-package loading |
CN105718287B (zh) | 2016-01-20 | 2018-11-13 | 中南大学 | 一种智能终端的程序流式执行方法 |
US10097606B2 (en) * | 2016-03-14 | 2018-10-09 | Amazon Technologies, Inc. | Application streaming using access and execution environments |
CN105657191B (zh) * | 2016-03-29 | 2020-03-31 | Tcl集团股份有限公司 | 一种基于Android系统的应用增量升级方法及系统 |
CN108108089B (zh) * | 2016-11-24 | 2021-08-10 | 中国移动通信有限公司研究院 | 一种图片加载方法及装置 |
CN107038056B (zh) * | 2017-05-19 | 2018-03-16 | 中南大学 | 基于安卓平台的流式计算模式调度方法 |
CN110175053B (zh) * | 2019-04-24 | 2023-10-27 | 创新先进技术有限公司 | 图片加载方法及装置 |
CN110928548B (zh) * | 2019-11-14 | 2023-08-22 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种数据处理方法以及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707973A (zh) * | 2012-05-04 | 2012-10-03 | 惠州Tcl移动通信有限公司 | 基于Android系统的应用程序启动的方法和系统 |
CN103309749A (zh) * | 2013-06-25 | 2013-09-18 | 四川九洲电器集团有限责任公司 | 一种基于安卓系统图片资源的内存释放方法 |
-
2014
- 2014-03-07 CN CN201410083601.3A patent/CN103793257B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707973A (zh) * | 2012-05-04 | 2012-10-03 | 惠州Tcl移动通信有限公司 | 基于Android系统的应用程序启动的方法和系统 |
CN103309749A (zh) * | 2013-06-25 | 2013-09-18 | 四川九洲电器集团有限责任公司 | 一种基于安卓系统图片资源的内存释放方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547624A (zh) * | 2016-11-04 | 2017-03-29 | 武汉斗鱼网络科技有限公司 | 基于Android的图片加载方法及装置 |
CN106547624B (zh) * | 2016-11-04 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 基于Android的图片加载方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103793257A (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103793257B (zh) | 一种Android程序的流式执行方法 | |
JP6797877B2 (ja) | ウェブアプリケーションを実施する方法、装置、サーバ、及びシステム | |
US20170109193A1 (en) | Systems and methods for customizing and programming a cloud-based management server | |
US8812733B1 (en) | Transport protocol independent communications library | |
US20130263083A1 (en) | Systems and methods for application development | |
CN105183457B (zh) | 一种监听界面生命周期回调的方法及装置 | |
US9778942B2 (en) | Generating a replacement binary for emulation of an application | |
KR102056960B1 (ko) | 온라인 스토어를 통해 소프트웨어 컴포넌트를 업데이트하는 기법 | |
US10997062B1 (en) | System and method for implementing an automated regression testing module | |
US20100153929A1 (en) | Converting javascript into a device-independent representation | |
US10831892B2 (en) | Web browser script monitoring | |
TW201441934A (zh) | 客戶端的更新方法及裝置 | |
US9141363B2 (en) | Application construction for execution on diverse computing infrastructures | |
WO2023024436A1 (zh) | 页面加载方法、组件、系统、装置及计算机可读存储介质 | |
CN112783642B (zh) | 容器内逻辑配置方法、设备以及计算机可读介质 | |
Zbierski et al. | Bring the cloud to your mobile: Transparent offloading of html5 web workers | |
CN107766307A (zh) | 一种表单元素联动的方法和设备 | |
CN111723314B (zh) | 网页展示方法、装置、电子设备及计算机可读存储介质 | |
CN110020370B (zh) | 在客户端应用中实现动画的方法、装置及动画脚本的框架 | |
US9910834B2 (en) | Converting terminal-based legacy applications to web-based applications | |
CN117271014A (zh) | 基于web worker的数据处理方法和客户端 | |
US10530709B2 (en) | Container contract for data dependencies | |
US9374437B2 (en) | Schema validation proxy | |
CN116974780A (zh) | 数据缓存方法、装置、软件程序、设备及存储介质 | |
CN108228145A (zh) | 混合型应用程序的数据处理方法、系统及移动设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |