鸿蒙/Android上最大的毒瘤:快应用服务

文章指出快应用作为无需安装的新型应用生态,虽有快速启动和节省空间等优点,但其强制性系统服务、广告推送及潜在的用户信息收集问题引起关注。作者认为快应用服务框架在MIUI等系统中无法卸载和限制,且主要用作广告推送,损害了用户体验,反映了国内手机厂商过于追求利润的现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

鸿蒙/Android上最大的毒瘤:快应用服务

  • 2023.3.22
  • 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

1、什么是快应用?

“快应用” 是安卓厂(华,米,O、V、魅族、努、联、加)基于硬件平台共同推出的新型应用生态,无需安装,即点即用。贴近原生,运行效率高。
快应用类似于微信小程序,与微信小程序不同的是,它通过快应用服务框架/引擎运行,而服务引擎直接运行于鸿蒙/Android之上。微信小程序运行于微信之上。

2、快应用的优缺点

快应用是一种基于安卓系统的应用程序,它运行于快应用服务框架/引擎之上,它具有以下优缺点:

优点:

  1. 快速启动:快应用不需要下载安装,可以直接启动,速度更快。
  2. 节省空间:快应用不需要占用手机存储空间,可以节省手机内存。
  3. 安全可靠:快应用运行在沙箱环境中,不会对手机系统造成损害,也减少了恶意攻击的风险。
  4. 稳定性强:快应用的运行不受网络环境的影响,可以保持稳定的运行状态。

缺点:

  1. 功能受限:快应用由于是基于安卓系统的,其功能受限于安卓系统的能力。
  2. 用户体验不佳:快应用需要依赖网络环境,如果网络环境差,会影响用户体验。
  3. 应用数量有限:目前快应用的数量还比较有限,用户可能无法找到自己需要的应用。
  4. 广告过多:由于快应用是免费的,有些快应用会通过广告来获取收益,有时会对用户造成干扰。

3、为什么说快应用服务是毒瘤?

快应用的设计初衷是很好的,繁荣Android生态,方便用户使用App。但是,一项好技术不用于正途,就能变成毒瘤。

  1. 快应用服务框架,在鸿蒙系统叫快应用服务中心无法卸载,被厂家强制设定为系统服务
    以MIUI为例
    MIUI14上的快应用服务框架
    MIUI14上的快应用服务框架是小米内置的系统应用,无法卸载,无法禁止它联网(只能限制它使用流量),无法关闭通知。

  2. 快应用服务框架、快应用服务中心中安装的所有App都不是用户主动安装的,都是各种广告、新闻诱导用户在不知情的情况下偷偷下载并安装的应用。
    仍然以MIUI14为例
    MIUI14上偷偷安装的快应用

  3. 这些快应用存在的价值
    3.1 对用户而言:没有价值,用户不会主动运行它。它存在的唯一意义就是推送广告,收集用户信息。
    3.2 对手机厂家而言:价值巨大,快应用服务框架、快应用服务中心背后连接的快应用商店是手机厂家的利润源泉。一款快应用要推给用户,需要做两件事:一是向手机厂家交钱,进入快应用商店;二是在头条、百度等媒体上投放广告,以金币之类的形式诱使用户点击。用户点击后什么也没得到,但是手机上就会悄悄多了一款快应用App。

4、个人的一点看法

  1. 今年315曝光的App,论危害程度和恶心程度,与 快应用服务框架/中心 相比,真的是小巫见大巫。
  2. 鸿蒙并非净土,一旦涉及到手机厂家的利益和用户的利益,国内手机厂家会选择牺牲用户的利益。
  3. 我最不能接受的一点是,Android、鸿蒙的高端机,5、6千一台的手机,已经这么贵了,仍然挖空心思出用户身上搞钱,没什么底线,跟iOS比确实差距很大。如何赶超Apple,这是手机厂家应该反思的问题。
  4. 快应用服务 就如同当前市面上的各种智能电视上的Ad,开机广告、系统主界面广告等,无法杜绝,厂家的利益啊。
  5. 快应用服务 是国内浮躁的一个缩影,踏踏实实赚钱,挣良心钱早已远去!
<think>好的,用户想将Android的shape背景代码转换为鸿蒙系统的实现。首先我需要回顾一下Android中shape的常见用法,比如圆角、渐变、颜色、边框等。然后查阅鸿蒙的文档,看看对应的组件是什么。 记得在之前的引用中,提到鸿蒙使用ShapeElement来设置背景颜色,比如引用[1]和[2]。Android的shape通常用XML定义,而鸿蒙可能需要用Java或ArkTS代码来实现类似效果。 用户的问题可能涉及到如何创建圆角矩形、设置边框颜色和宽度,或者渐变效果。例如,Android中可以用shape的corners设置圆角,solid设置填充颜色,stroke设置边框。在鸿蒙中,ShapeElement应该也有类似的方法。 首先,圆角可以通过ShapeElement的setCornerRadius方法设置,或者针对每个角单独设置。边框的话,可能需要用Stroke类,然后设置到ShapeElement上。颜色填充应该用setRgbColor,如引用[1]中的例子。 然后,需要检查是否有渐变的支持。Android的gradient在鸿蒙中可能需要使用其他类,比如可能用Component中的渐变属性,或者通过其他方式实现。不过根据现有的引用,可能ShapeElement本身支持渐变,或者需要结合其他元素。 另外,鸿蒙的布局单位是vp,如引用[5]所述,需要注意单位转换,比如将Android的dp转换为vp。 最后,可能需要将ShapeElement设置为布局的背景,如directionalLayout.setBackground(shapeElement),如引用[1]所示。用户可能需要一个完整的代码示例,展示如何组合这些属性来实现与Android相同的效果。 总结步骤:创建ShapeElement,设置颜色或渐变,设置圆角,设置边框,然后将ShapeElement作为背景应用到布局或组件上。需要确保所有属性都有对应的鸿蒙API支持,并参考现有引用中的代码结构。</think>在鸿蒙系统中实现类似Android的shape背景效果,可以通过`ShapeElement`和`Stroke`类实现。以下是具体步骤和代码示例: ### 一、实现圆角矩形背景 1. **设置圆角与填充色** ```java // 创建背景元素 ShapeElement shapeElement = new ShapeElement(); shapeElement.setRgbColor(new RgbColor(0x00, 0xFF, 0x00)); // 填充颜色(绿色) shapeElement.setCornerRadius(16f); // 统一设置四个圆角半径(单位vp) // 设置边框 Stroke stroke = new Stroke(2, new RgbColor(0xFF, 0x00, 0x00)); // 边框宽度2vp,红色 shapeElement.setStroke(stroke); // 应用背景到布局 DirectionalLayout directionalLayout = new DirectionalLayout(context); directionalLayout.setBackground(shapeElement); ``` 2. **设置差异化圆角** ```java // 单独设置每个角的半径(左上、右上、右下、左下) float[] radii = {20f, 20f, 8f, 8f, 0f, 0f, 12f, 12f}; shapeElement.setCornerRadiiArray(radii); ``` ### 二、实现线性渐变背景 ```java // 创建渐变对象 ComponentContainer.LinearGradient gradient = new ComponentContainer.LinearGradient(); gradient.setAngle(45); // 渐变角度 gradient.setColors(new int[]{0xFF00FF00, 0xFF0000FF}); // 颜色数组(绿到蓝) gradient.setShape(Shape.RECTANGLE); // 形状 // 将渐变应用到ShapeElement shapeElement.setLinearGradient(gradient); ``` ### 三、单位换算注意点 - 鸿蒙使用**vp(虚拟像素)**作为布局单位,1vp ≈ 160dpi屏幕的1px[^5] - Android的`dp`单位可直接按1:1转换为`vp` ### 四、对比Android XML实现 Android原始代码: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#00FF00"/> <corners android:radius="16dp"/> <stroke android:width="2dp" android:color="#FF0000"/> </shape> ``` 鸿蒙实现通过代码方式完成相同效果,且支持更灵活的渐变配置[^1][^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值