阅读更多

4顶
1踩

移动开发

原创新闻 Android 应用程序大小限制上调至 4GB

2012-03-06 11:36 by 副主编 wangguo 评论(10) 有15021人浏览
一直以来,Android应用(APK)的大小被限制在50MB以下,这适用于大多数应用程序,一般来说,APK文件越小越好,因为开发者每添加1MB,就会增大用户下载和使用的难度。但是,对于某些应用(如高品质的3D游戏)来说,往往需要更多的本地资源。

今天,Android开发者团队称已经将Android应用的大小限制上调到4GB。需要注意的是,APK文件的大小仍会被限制在50MB以下,以确保设备存储的稳定性,但是开发者现在可以在APK中附加扩展文件。

每个应用可以包含两个扩展文件,每个可高达2GB。这些文件可以由Android Market托管,这将大大减少开发者的麻烦以及文件服务的成本。

开发者可以以任何希望的方式来使用这两个扩展文件,不过Android开发者团队建议,最好将一个文件作为初始下载,且极少更新,另一个文件尽量小一些,作为补丁载体,在每次版本更新时下载。

用户在安装或购买这些应用之前,可以看到应用和所有要下载文件的总大小。目前,在大多数较新的设备中,当用户从Android Market下载此类应用时,扩展文件也将被自动下载,直到全部下载完成后,应用才能运行。而在一些旧的设备上,扩展文件会在第一次运行应用时下载。

Android开发者团队在Android SDK Manager中提供了示例代码和库,以便使开发者更容易地使用扩展文件功能。包括:

  • 在Google Market Licensing包中,包含一个升级版的许可验证库(LVL),该版本主要增加了从许可服务器中获得扩展文件详细信息的能力。
  • 在Google Market APK Expansion包中,包含了下载服务示例。通过大量的最佳实践(包括恢复下载和显示进度通知等示例),使开发者可以更容易地在应用中实施下载服务。
APK扩展文件下载的流程如下图所示。


更多信息可参阅:APK扩展文件开发指南

Via Android开发者博客
  • 大小: 73.5 KB
4
1
评论 共 10 条 请登录后发表评论
10 楼 yuanweiromance 2012-05-14 14:00
请问我android sdk manager 上下载的library有不少的问题。连service的都启动不了。请问你能分享个源码吗。加我qq:931308252哈
9 楼 peihexian 2012-03-07 17:23
流程图visio 2010吧?
8 楼 BenoWay 2012-03-07 16:56
[flash=200,200][/flash]
</td></td>
7 楼 ehuangmy 2012-03-07 16:53
请问这个流程图是用什么工具绘制的?
6 楼 cumtlu 2012-03-07 13:24
5 楼 mengyancui 2012-03-07 10:52
4 楼 songfantasy 2012-03-07 00:49
化的不错阿
3 楼 邪恶八进制 2012-03-06 14:32
引用
引用
引用
引用
引用
引用
[/i][i][/i][i][/i][i][/i][i][flash=200,200][/flash]
2 楼 forcer521 2012-03-06 13:35
流程图画的倒是不错啊:)
1 楼 ufopw 2012-03-06 12:54
现在的公司都是自己搭建服务器下载数据包。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • EXTJS总结.txt

    Ext.fly('elId').appendChild(el.dom); // 添加CompositeElement,一组的div Ext.fly('elId').appendChild(Ext.select('div')); 31.appendTo 把这个元素添加到送入的元素里面。 var el = Ext.get('elId1'); //...

  • Extjs DOM操作总结

    var el = Ext.get('myElementId');//获取元素,等同于document.getElementById('myElementId');//会缓存 2. Ext.fly var el = Ext.fly('myElementId')//不需要缓存。 注:享元模式(Flywe

  • ExtJS中this.form.el is undefined

    在ExtJS中,经常会需要用到一个窗口中嵌入一个form表单,进行表单提交,如下: NewsTypesWindow=function(config){ config=config||{}; var formPanel=new Ext.form.For

  • this.dom is undefined杂牌

    错误信息: this.dom is undefined ...ExtJS3.4中window中的onAdd:function(){}方法可能是一个关键字或一个元素,但将onAdd改为其他就不会报this.el is null了 有些问题尚待解决。。。。。。。。。。...

  • Ext出现的问题:this.dom is undefined

    数据填充好了而父页面却无法提交提示 this.dom is undefined。    解决方法:  弹出的窗口的closeAction的不要设置为close,要设置成hide和弹出的窗口的关闭方式改为win.hide()就好了!   原因不明!...

  • Extjs DOM操作总结[转]

    var el = Ext.get('myElementId');//获取元素,等同于document.getElementById('myElementId');//会缓存 2. Ext.fly var el = Ext.fly('myElementId')//不需要缓存。 注:享元模式(Flyweight ...

  • Extjs源码之--Ext.lib.Dom(Dom的基本封装)

    [b][color=blue]Extjs的对Dom最基础的封装,主要包括:元素的包含关系,元素或文档的可视宽高,获取元素的位置,设置元素的位置,这些都是elment最基础的属性,这涉及到各个浏览器兼容器问题,如果想获得详细解答,...

  • Extjs 5.x 日期时间控件DateTime源码

    '&lt;div id="{id}-footerEl" data-ref="footerEl" role="presentation" class="{baseCls}-footer"&gt;{%this.renderOkBtn(values, out)%}{%this.renderTodayBtn(values, out)%}&lt;/div&gt;', '&lt;/tpl&gt;', '&lt;/div&gt;', { ...

  • ExtJs_Ext.form.Field解说

    // 不允许为空;  },{  fieldLabel: 'Field 2',  name: 'field2',  listeners: {  specialkey: function(field, e){  // e.HOME, e.END, e.PAGE_UP, e.PAGE_DOWN,  // e.TAB, e.ESC,  ...

  • extjs6.5文件上传_ExtJs文件上传(Ext.ux.form.FileUploadField)

    this.el.dom.removeAttribute('name'); this.createFileInput(); var btnCfg = Ext.applyIf(this.buttonCfg || {}, { text : this.buttonText }); this.button = new Ext.Button(Ext.apply(btnCfg, { renderTo : ...

  • extjs-query(组件,dom)

    1、在自己extjs前端开发的过程中常常用到就是组件的查找,找到后就很方便对组件进行操作,所以就在此自己总结了一些组件查询的方法。 2、还有一些dom的查找方法,意义之一:就是对页面文字的修改,当然会有其他用途...

  • 基于Extjs开发不允许为空的文本框提示及相应的验证错误提示

     1、区分哪些文本框不允许为空,很多网站都采用在文本框后加*号,extjs也可以用lable组件标识,但这样做很麻烦,每一个不允许为空的文本框都需要多加一个lable组件,如果用一个方法自动为不允许为空的文本框加上这...

  • extjs 下拉日期_extjs的日期时间空间datetimefiled

    this.internalRender){ var main = this.el.dom.firstChild, w = main.offsetWidth; this.el.setWidth(w + this.el.getBorderWidth('lr')); Ext.fly(main).setWidth(w); this.internalRender = true; // opera does ...

  • ExtJs4基础

    JSON结构 JSON有数组和对象两种结构: 对象结构:用大括号作为开始和...其中关键字是字符串,值可以是字符串、数值、true、false、null对象或数组。 数组结构:用中括号开始和结尾[]。中间有0个或多个,(逗号)...

  • ExtJS 操作DOM元素Ext.Element

    ExtJS 对HTTP DOM元素的操作,进行了很好的封装。看几个具体的方法 Ext.Element :封装Dom元素通用操作,屏蔽了不同浏览器带来差异性问题。 用法: // by id var el = Ext.get("my-div"); // by DOM element ...

  • extjs 获取get_【ExtJs】getBody()、getDom()、getCmp()、getFly()、get()、getComponent()、getSource()区别?...

    getBody() 得到文档的body节点元素(Element)该方法直接得到文档中与document.body这个DOM节点对应的Zend元素(Element),实质就是把document.body对象封装成Zend元素对象返回,该方法不带任何参数。比如下面的代码把...

  • Extjs 知识体系1-dom操作

    Ext.dom.CompositeElement // 操作dom集合 ps:Extjs 使用字面量{} 形式,不支持链式操作 一、获取元素(Getting Elements)1.Ext.getvar el = Ext.get('myElementId');//获取元素,等同于document.getElementB....

  • ExtJS学习之路第二步:Ext.Component 和 Ext.dom.Element 的区别

    让我们来初步的探讨下Ext.Component和Ext.Element的区别。 jQuery偏重于DOM元素的操作 1、每一个HTML页面都有一个层次分明的DOM树模型,...通常使用getElementById/Ext.getDOM获得DOM对象 举例: &lt;div id="...

  • ExtJS快速入门学习指南

    前言:个人理解ExtJS其实 是一个Ajax 框架,是一个用javascript 写的。与EasyUI差不多的一个框架。学习并不难,先找好一定的学习资料与文档,然后再练习几个demo,这样大概就有所了解了。具体精通,那只有等你自己在...

  • Extjs PagingToolbar 当前页设置 PagingToolbar.js

    this.displayEl = Ext.fly(this.el.dom.firstChild).createChild({cls:'x-paging-info'}); } }, // private updateInfo : function(){ if(this.displayEl){ var count = this.ds.getCount(); var ...

Global site tag (gtag.js) - Google Analytics