android版手机淘宝占用空间大怎么做到这么占用空间的

10被浏览2,170分享邀请回答12 条评论分享收藏感谢收起01 条评论分享收藏感谢收起写回答140被浏览12,180分享邀请回答&intent-filter android:priority="-1" &
&category android:name="android.intent.category.DEFAULT" /&
&action android:name="android.intent.action.VIEW" /&
&data android:scheme="http" /&
第一行,是设置它的优先级,一般来说,默认的优先级是0,淘宝把这个intent-filter设置为-1,估计是不想让它自己的浏览器出现在选择程序界面。如果我们只去掉这一属性,此问题描述的bug就不存在了,但是淘宝的浏览器就会出现在选择程序界面。
这个估计不是淘宝想要的,所以我们再来看看后面三行。
这三行是andoroid官方定义的一些配置,此配置可用于隐式启动一个可以处理http相关内容的activity(一般就是打开这个网址)。
所以如果我是淘宝的开发人员,想在解决此bug的情况下,又不让淘宝的浏览器界面暴露给用户选择,我就可以把android官方定义的category和action换成自定义的,使用的时候也使用自定义的配置,同时保留android:priority="-1"选项然后就可以了。&category android:name="android.intent.category.DEFAULT" /&
&action android:name="android.intent.action.VIEW" /&
&data android:scheme="http" /&
android:name="com.taobao.browser.BrowserActivity"
android:allowTaskReparenting="true"
android:configChanges="keyboardHidden|orientation|screenSize"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Theme.NoBackgroundAndTitle"
android:windowSoftInputMode="adjustResize|stateHidden" &
&intent-filter android:priority="-1" &
&category android:name="android.intent.category.DEFAULT" /&
&action android:name="android.intent.action.VIEW" /&
&category android:name="android.intent.category.BROWSABLE" /&
&category android:name="com.taobao.intent.category.HYBRID_UI" /&
&data android:scheme="http" /&
&data android:scheme="https" /&
&data android:scheme="taobao" /&
&/intent-filter&
&!-- 其他与此问题无关的intent-filter被我忽略掉了 --&
&/activity&
3 我自己写一个应用,可以搞出这个问题吗?
可以,在任意一个应用的任意一个activity下面添加以下信息就可以了,其中category项可以省略(因为本身就是defualt(缺省))。&intent-filter android:priority="-1" &
&category android:name="android.intent.category.DEFAULT" /&
&action android:name="android.intent.action.VIEW" /&
&data android:scheme="http" /&
&/intent-filter&
4 与默认应用相关的配置文件是“/data/system/users/0/package-restrictions.xml”,里面有preferred-activities的相关内容,对应的就是默认应用,此文件一般用户是看不到的。
梳理一下此问题的出现过程。
4.1,手机里面有安装多个浏览器,同时目前没有配置默认浏览器。
4.2,安装淘宝,然后从其他地方(比如短信)打开一个网址,选中任意一个浏览器(比如chrome),然后点击always。
这个时候package-restrictions.xml文件里面会增加下面的信息,同时,在下一次弹出浏览器选择提示界面之前,always一直是true,错误是发生在浏览器选择界面的。&item name="com.android.chrome/com.google.android.apps.chrome.Main" match="200000" always="true" set="3"&
&set name="com.android.browser/.BrowserActivity" /&
&set name="com.android.chrome/com.google.android.apps.chrome.Main" /&
&set name="com.taobao.taobao/com.taobao.browser.BrowserActivity" /&
&action name="android.intent.action.VIEW" /&
&cat name="android.intent.category.DEFAULT" /&
&scheme name="http" /&
4.3,再次从短信中打开一个网址,此时淘宝的priority="-1"触发了系统的一个bug,内容被改为&item name="com.android.chrome/com.google.android.apps.chrome.Main" match="200000" always="false" set="0"&
&action name="android.intent.action.VIEW" /&
&cat name="android.intent.category.DEFAULT" /&
&scheme name="http" /&
5 怎么修改这个bug
5.1 去阿里相关部门投诉,并把第二段的关于问题是怎么出现的内容发过去,不过如果其他应用有这个问题,那就没办法了。
以下是彻底修正的方法:
5.2 最好的方案是给Google提bug,Google来改,因为根据知友的反馈,在目前最新的android5.0.1上也是有此问题的,而其他人是没有权限提交这个代码的。
5.3 找厂商投诉,让厂商修改。
5.4 对于有Nexus手机的知友,同时对android源码又懂一点,可以自己下载android源码,自己修改然后刷机。
与此bug相关的log,把这个log给Google或者厂商,并说明详细情况,这段log对手机厂商足够了。I/PackageManager( 1117): Result set changed, dropping preferred activity for Intent { act=android.intent.action.VIEW cat=[android.intent.category.DEFAULT] dat=http://www.baidu.com/} type null
####以下是写的,是为了和题主确认具体复现场景####题主你好,关于“Android装了淘宝app之后,为啥能影响到系统默认打开设置?”,能否说一下操作的流程,然后淘宝具体是怎么影响的,效果是什么,然后我可以根据这个具体的行为去分析一下。7222 条评论分享收藏感谢收起42 条评论分享收藏感谢收起> 博客详情
摘要: 手机淘宝客户端架构介绍
&&&&手机淘宝Android客户端有几百人开发,十几个团队。如果整个Android客户端是一个工程,那十几个团队每个人上午上班第一件事情估计就是合代码,运气不好,一天都在合代码,而且只要有一个人提交的代码编译不过,所有人都会被堵塞在那里,所以单个工程是不可能的事情。
& &&只要是包含了很多业务的客户端,都会面临这个问题,各个业务代码量越来越多,新需求又源源不断的来,业务团队之间要是有直接依赖,那被依赖最多的团队成员,在改代码的时候都是战战兢兢的,生怕自己的改动导致其他业务奔溃。最终交付的时候,总会被一个业务线的人卡住,导致没法及时交付这个版本。而且随着代码量越来越多,方法数超65535的问题也跟着到来。
& & &对于中型团队,可以参考美团 团队的做法:http://tech.meituan.com/mt-android-auto-split-dex.html, 每个业务是一个单独的工程,打包成aar,每次发版的时候,将aar提交到maven仓库,然后有一个Main工程,包含所有业务的aar,Main工程打包出来的就是apk。而且还通过引入MulitDexApplication,解决了方法数超限的问题。
& & &自然而然的,在美团的基础上面我们可以发展出这样一个架构,业务aar之间不允许依赖,业务如果要对外提供接口,那就提供接口jar包,在自己业务aar里面去实现。有一个BaseCompat的项目将集成这些接口jar包,还包括一些基础jar包,业务aar可以依赖BaseCompat aar,业务aar之间没有依赖,这样做的好处就是每次发版本的时候不需要等任何一个业务,某个业务没有在截至时间内集成,就直接使用上一个稳定的版本即可。
& & aar包最终会被打包成一个dex文件(或者多个dex文件,引入MulitDexApplication),但是这个解决不了手机淘宝Android客户端的问题,手机淘宝Android客户端底层有Atlas插件框架。通过将业务包打成awb(其实就是apk包),然后外面包一个壳工程,壳工程中包含所有的业务awb包。在手淘客户端启动的时候,载入各个业务的awb包,当然这个里面包括awb包解析,dex文件优化,res文件加载一系列操作。
& & Atlas插件框架大概的工作原理就是:当跳转到一个Activity的时候,看看Activity所在的awb包有没有被加载到内存,如果没有,那就load optDex文件,res文件。
& & 还在看老罗的博客:& 研究一下apk包加载,Activity启动。应该是可以做一个开源Atlas出来,大部分情况是然并卵,因为大部分公司的应用都没有这么复杂的业务。
”在线下联结了各位 OSCer,推广开源项目和理念,很荣幸有你的参与~
领取条件:参与过开源中国“源创会”的 OSCer 可以领取
呵呵手淘是热部署!是大几百人
服务器下发布局结构,客户端动态生成native界面。
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥android求仿淘宝数量选择怎么实现的_百度知道
android求仿淘宝数量选择怎么实现的
!!!! 求大神!仿淘宝数量选择
是怎么实现的,算法怎么写的
我有更好的答案
前做过:id=&@+id/everyday_backage& &&ImageView
&gt:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:src=&@drawable/plus&
android:id=&horizontal&@drawable/
android:layout_height=&wrap_content&
android:background=&TextView
android:text=&0&center&quot:layout_width=&fill_parent&
index_explanation& /&
&ImageView
android:gravity=&quot:layout_height=&@+id/iv_plus& /
&lt:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:layout_alignParentRight=&true&
android:src=&@drawable/minus&
iv_minus& &#47,找了半天,记得采纳&RelativeLayout
android:layout_width=&wrap_content&quot:orientation=&quot:id=&@+id/tv_goid&
android:textColor=&@color/&lt
兄弟能把图片给我下吗
教你怎么取APK图片,下载一个APK把后掇名改成ZIP,解压出来图片就有了
自定义组件
有没有例子
你也是做android开发的啊,呵呵
为您推荐:
其他类似问题
您可能关注的内容
android的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 android 系统占用空间 的文章

 

随机推荐