首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

推荐系列(一):什么是推荐?

相关项目推荐 顾名思义,相关项目是与特定项目类似的推荐。Google Play应用示例,查看数学相关APP用户也可能会看到相关应用,例如有关科学APP。 为什么进行推荐?...推荐系统可帮助用户大型语料中找到引人注目的内容。例如Google Play商店数据有数百万个应用,而YouTube则有数十亿个视频。而且每天都会添加更多应用和视频。...许多推荐系统依赖于学习查询和项目的适当 嵌入表示。...生成候选人 第一阶段,系统从潜在巨大语料开始,生成更小候选子集。例如,YouTube候选生成器可将数十亿视频减少到数百或数千。考虑到语料巨大规模,模型需要快速评估查询。...由于此模型评估相对较小项子集,因此系统可以使用依赖于其他查询精确模型。 重排序 最后,系统必须考虑最终排序附加约束。例如,系统删除用户明确不喜欢项目或提高更新内容分数。

1.2K30

【译】Android Gradle 插件 4.0.0 Feature-on-Feature 依赖关系

Android Gradle Plugin 4.0.0 ,动态功能现在可以依赖于其他动态功能,当你应用程序下载动态功能时,它还会下载它依赖所有动态功能。...其中 :video-list 和 :video-player 依赖于一个共同 :video-data,如下图所示可能是你会使用 Gradle 依赖项: 具有3个动态功能示例项目,其中2个依赖于相同模块...Android Gradle Plugin 3.5 ,常见依赖关系必须由 base 提供,因此你 Gradle 依赖项将如下所示: ?...例如 :video-data 可能依赖于 Google Play 服务提供 Cast ,如果此时项目尚未使用 Google Play 服务,则会变成一个很大浪费依赖关系。... Android Gradle Plugin 4.0 Feature-on-Feature 依赖关系解决了此问题,此时有两种不同选择,可以像这样进行 :video-list 依赖 :video-player

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

Android Studio 4.0重磅发布:全新 Motion 编辑器及众多更新都在这里!

功能上依存关系 使用 Android Gradle 插件 4.0.0 及更高版本时,你现在可以指定一个动态功能模块依赖于另一个功能模块。...这种关系可确保你应用具有所需模块来提供新功能,从而减少请求并更好地模块化。例如,:video 功能可以依赖:camera 功能。...但是,你可能不是每个项目都需要这些和功能。该插件 4.0.0 版本,你现在可以单独禁用构建功能,如下所示,这可以优化大型项目的构建性能。...依赖项元数据 使用 Android Gradle 插件 4.0.0 及更高版本构建应用时,插件会包含描述编译到你应用依赖元数据。...数据经过压缩,通过 Google Play 签名密钥加密,并存储发布应用签名栏

4.6K30

Android Studio 4.0 稳定版发布了

早期版本 Android Gradle 插件,所有动态功能模块都只能依赖于应用程序基本模块。...现在,当使用 Android Gradle 插件 4.0.0 及更高版本时,可以包括一个依赖于另一个功能模块功能模块,即 :video 功能可以取决于:camera 功能,而功能取决于基础模块,结果如下图所示...,该插件包含描述编译到应用依赖元数据,uploading 应用程序时,Play 控制台会检查此元数据提供以下好处: 获取有关你应用使用SDK和依赖已知问题警报 收到可行反馈来解决这些问题...数据经过压缩,通过 Google Play 签名密钥加密,并存储发布应用签名栏,你也可以自己以下目录本地中间构建文件检查元数据://build/outputs...动作编辑器提供了一个简单界面,用于处理 MotionLayout 元素,这些元素是 Android 应用动画基础。 以前版本,创建和更改这些元素需要手动编辑XML资源文件约束。

4.6K20

Android Studio 4.0 重磅发布!Android 11 Bata 版来了!

及更高版本时,你现在可以指定一个动态功能模块依赖于另一个功能模块。...这种关系可确保你应用具有所需模块来提供新功能,从而减少请求并更好地模块化。例如,:video 功能可以依赖:camera 功能。...但是,你可能不是每个项目都需要这些和功能。该插件 4.0.0 版本,你现在可以单独禁用构建功能,如下所示,这可以优化大型项目的构建性能。...依赖项元数据 使用 Android Gradle 插件 4.0.0 及更高版本构建应用时,插件会包含描述编译到你应用依赖元数据。...数据经过压缩,通过 Google Play 签名密钥加密,并存储发布应用签名栏

2.6K20

精选Android中高级面试题 -- 终局之篇:高级干货

参考回答:要测试Android应用程序,通常会创建以下类型自动单元测试: 本地测试:只本地机器JVM上运行,以最小化执行时间,这种单元测试不依赖于Android框架,或者即使有依赖,也很方便使用模拟框架来模拟依赖...组件化开发流程就是把一个功能完整App或模块拆分成多个子模块(Module),每个子模块可以独立编译运行,也可以任意组合成另一个 App或模块,每个模块即不相互依赖但又可以相互交互,但是最终发布时候是将这些组件合并统一成一个...8、组件化中路由、埋点实现 参考回答:因为组件化,各个业务模块之间是各自独立, 并不会存在相互依赖关系, 所以一个业务模块是访问不了其他业务模块代码, 如果想从 A 业务模块 A 页面跳转到...测试框架负责与服务器端api通信,由服务器端控制app上A/B版本分布,可以实现指定一组用户看到A版本,其它用户看到B版本服务端会有相应报表来显示A/B版本数量和效果对比。...Kotlin旨在与Java完全互操作,其标准JVM版本依赖于Java类,但类型推断允许其语法更简洁。 Flutter是由Google创建开源移动应用程序开发框架。

1.2K20

AndroidStdio1_2

模块以下情况下非常有用: • 构建使用某些相同组件(例如Activity、服务或UI布局)多个应用。...就像公司有10多个App,可以把所有App都需要用东西封装到模块例如网络请求、在线加载图片等。 这10多个项目依赖这个,而不是10多个项目都写一遍网络请求代码,并且用方式方便修改。...不过,需要手动编辑相关应用模块构建路径,并添加JAR文件路径。 • 模块可以依赖外部JAR:可以开发一个依赖于外部例如Maps外部模块。...例如自己打开项目下新建一个“my-library-module”,如果想依赖这个,打开应用模块build.gradle文件,并向dependencies块添加一行如下新代码:...由于测试证书通过构建工具创建并且设计上不安全,大多数应用商店(包括Google Play商店)都不接受使用调试证书签名要发布APK。

1.8K20

如何获得更小应用文件尺寸?来了解下 Android App Bundle

Android App Bundle 是一种发布格式 —— 精确地说,是一个带有 .aab 扩展名 zip 文件。...它包含应用支持所有设备代码和资源,例如 DEX 文件、本地代码、清单文件、各种资源文件等。...开发者可以把这些用途或功能添加到他们应用Google Play 会按需提供这些动态功能模块,而不是安装时统一添加,从而进一步减少应用下载体积。...获得 3.2 版本 Android Studio: developer.android.google.cn/studio/ Android Studio 打开项目后,转到菜单栏并选择 Build...使用 bundletool help 获取有关命令详细信息,例如标识符和其他选项。 以下示例,我们将找到连接设备配置,构建 APK,并为连接设备安装 APK。 ?

1.9K20

Android Instant Apps简介

Instant Apps与安装对应软件apk共享一个代码,并也是通过Google Play商店Android Instant Apps区进行分发。...这些新配置可帮助你来控制哪些是作为公共API依赖; Implementation用于声明只模块内部可用依赖项,而声明依赖关系api将被导出并提供给后续部分。...例如一个停车场用户可能没有安装停车计费器App,但是使用Instant Apps,所有用户需要做是访问URL,而native App可以快速,轻松利用所有的支付API完成支付。...这个基本功能模块与其他feature区别是baseFeature设置为true。 使用功能模块每个项目必须具有一个基本模块,每个功能模块必须依赖于基本模块。...发布 为了将Instant App发布到Google Play商店,你只需运行与上述相同gradle task,但使用发行版本: gradle :instantapp:assembleRelease

3.4K70

工具篇 | Gradle入门与使用指南 - 附Github仓库地址

图片4.2 项目结构上面的命令执行完毕后,会在目录下创建这样一个结构:图片4.3 编写代码它默认会在app/src/main/java目录添加一个简单App类。...,我们通常依赖于第三方来完成某些功能。...Gradle提供了一个强大依赖管理系统,使得声明、解析和使用这些第三方变得轻而易举。7.1 声明仓库要使用外部依赖,首先需要告诉Gradle从哪里获取它们。...7.3 依赖冲突解决有时,当你项目依赖于多个,并且这些依赖于相同不同版本时,就会发生冲突。Gradle有强大冲突解决策略,通常会选择最新版本。...:2.8.5' }}这将确保项目中使用Gson版本为2.8.5,即使其他依赖可能请求了一个不同版本

1.7K40

Arid Viper正在利用SpyC23针对Android设备进行大规模攻击

需要注意是,该威胁组织之前也一直都依赖于Telegram和约会App这两个主题来伪装合法应用程序。...正如Talos报告所指出,Skipped最初是一款合法约会App,而Google Play商店版本最后一次更新是2021年8月。...checkRaw类 这个音频上传服务具有许多与Arid ViperAndroid工具集中旧版本相同状态日志字符串和媒体记录参数: 这些录音代码中有一部分托管GitHub,虽然有可能是威胁行为者根据开源项目移植...当OnCreate方法运行时,它会初始化Gotev服务解析C2配置值,并注册GarciaReceiver(一个监控连接状态变化接收器),这种情况版本样本也存在。...与旧版本SpyC23一样,这个类也可以从存储lib-uoil.so解析和解码字符串并获取C2服务器详情。字符串部分使用了Base64编码,可以通过解析获取真实C2服务器URI。

21510

Android最佳开源集锦

➤APIs CloudRail:可以将多个服务例如Dropbox、Google Drive和OneDrive)捆绑成一个统一API,帮助开发者快速地集成。此外,还可以处理API更新,保持代码一致。...Material Calendar View:一款Material Design风格日历控件。 ➤依赖关系 Dagger:可以Android平台上快速进行依赖注入。...➤地图 AirMapView: 一个视图抽象、可以没有 Google Play Services情况下让设备使用地图交互功能。 Google地图实用工具汇总,例如热图或标记聚类。...➤支付 Android In-App Billing v3 Library:开发者通过Android v3 API轻松处理应用程序支付问题。 Checkout:Android平台上另一个支付。...Material:版本Android系统实现Material Design功能函数

2K70

Android Studio 4.0 正式版发布

Java 8 语言 D8 和 R8 字节码转换 (desugaring) 上一个版本 Android Gradle 插件通过字节码转换操作,在所有 API 等级中支持了大量 Java 8 语言功能...功能模块层级依赖关系 image.png 使用 Android Gradle 插件 4.0.0 及以上版本时,您可以指定一个动态功能模块依赖于另一个功能模块。...但您可能不是每个项目都需要用到这些和功能。插件 4.0.0 版本,您可以单独关闭某个构建选项 (如下所示),从而优化大型项目的构建性能。...依赖元数据 使用 Android Gradle 插件 4.0.0 及以上版本构建应用时,插件中会包含描述编译到您应用依赖关系元数据。...这些数据会被压缩,通过 Google Play 签名密钥进行加密,并存储发布应用签名模块

3.4K31

Android:创建可穿戴应用 – 安装和依赖管理

安装可穿戴应用 开发时,你能够像一般移动应用一样直接把应用安装到可穿戴设备。 使用adb install或者 Android Studio上Play button。...当你准备好要公布时,你须要把可穿戴应用嵌入一个手机应用。当用户从Google Play安装手机应用时,一个连接好可穿戴设备将自己主动接收这个可穿戴应用。...包括正确 项目向导会帮你导入正确依赖关系到对应模块build.gradle文件里。然而,这些依赖关系并非必须,參考以下描写叙述来找到哪些须要哪些多余: 1....可穿戴数据层(Wearable Data Layer) 要通过可穿戴式数据层APIs来同步发送设备和手持设备之间数据。你须要最新版本Google Play服务。...假设你不使用这些API,从模块移除这些依赖关系。 3. 可穿戴界面支持(Wearable UI support library) 这是一个非官方。包括一些专门为可穿戴设备设计界面组件。

37420

通过几个简单修改,我们减少了React Native app 60%大小

在那时,我们发布app还是先编译个能运行在大部分安卓设备上apk,然后把它上传到Google Play管理平台。但是一个 AAB bundle 只包含我们编译后代码和资源。...修改完构建流水线之后,可以自动将文件上传到Play Store,我们已经准备好了,新精简版Google Play控制台上显示出来了。...为此,我们将依靠另一个非常好开源工具:react-native-bundle-visualizer。我们项目里运行它,我们将会看到App每个文件夹依赖关系以及他们各自大小。 ?...我们不需要这种依赖,因为所有的敏感运算我们都是放在服务器进行,然后发送运算结果给app。仔细查看前端代码,发现这个被用于一些简单计算。...然后我们创建了为这个文件创建了两个版本一个包含Storybook,另一个仅包含虚拟组件,用于生产环境。为了在生产环境时切换着两个文件,我们写了一个脚本,可以在打包之前执行并且交换着两个文件。

2.3K20

面向初学者 Android 应用开发基础知识

Google Play 商店拥有超过 330 万个应用程序。该应用程序是称为Android Studio 应用程序上开发。...每个组件都有自己角色和生命周期,即从应用程序启动到结束。其中一些组件还依赖于其他组件。每个组件都有明确用途。...一个服务可能需要其他子服务来执行特定任务。服务主要目的是不中断与用户任何交互情况下提供应用程序不间断工作。...class MyReceiver extends BroadcastReceiver{ public void onReceive(context,intent){ } 内容提供者:内容提供者用于另一个应用程序请求下将数据从一个应用程序传输到另一个应用程序...它还包含应用程序硬件和软件功能,这些功能决定了应用程序 Play 商店兼容性。它还包括特殊活动,如服务、广播接收器、内容提供者、包名称等。

1.1K20

全面解读系统更新,收藏下这份 Android 12 (S) 版本适配自查表

这个功能提供了对调用隐私数据监听,无论是应用层还是依赖代码,只要访问到私密数据(危险权限)都会回调。...例如: 乍看起来没有问题,但其实这种实现方式存在两个隐蔽安全风险: Client App:由于 ClientCallbackActivity 是从另一个应用 Provider App 启动,因此它必须暴露为...提示:如果一个应用调用 Context.startForegroundService() 以启动另一个应用拥有的前台服务,则这些限制仅适用于两个应用都针对 Android 12 或更高版本情况。...4.9 HTTP 深度链接解析改进 Android 系统支持通过 Deep Link 或 Android App Link 将深度链接与应用行为关联,实践采用链接基于 URI 格式,例如: 从 Android...5.5 剪贴板访问提示(新功能) Android 12 及更高版本,当某个应用首次调用 getPrimaryClip[54] 以 [从另一个应用访问剪辑数据](https://developer.android.google.cn

2.5K10

「微服务架构」Google和eBay构建微服务生态系统方面的深刻教训

现代大规模系统关系图中组成服务,而不是层次结构或层级组。 服务依赖于许多其他服务,同时被许多服务依赖。 较旧大型系统通常以严格层级组织。 如何建立服务生态系统?...清洁设计( Clean design)可以是一种新兴产品,而不是自顶向下设计产品。 例如,考虑Google App Engine一些服务分层。...鼓励是通过提供团队。 鼓励也是通过您希望依赖于支持X协议或Y协议服务Google以至少一位其他程序员审阅源代码控制每行代码而闻名。这是沟通常见做法好方法。...Google App Engine本身是由一小群工程师发起,他们认识到需要帮助构建网站。 Gmail来自一个内部非常有用项目,然后被外部化为其他人。 弃用旧服务 如果不再使用某项服务会怎样?...一些令人讨厌情况下,这意味着维护多个部署,一个用于新版本另一个用于旧版本。 通常由于小增量变化模型接口没有改变。 有明确弃用政策。

70030

Android 大型工程 App Bundle 模块化实践

Android-App-Bundle-Delivery 从 2021 年下半年开始,Google 要求新应用需要使用 Android App Bundle 才能在 Google Play 中发布。... 2019 年,我们调研和使用 Android App Bundle 解决 Google Play 渠道包 64bit 版本发布问题后,又对模块化开发流程做了进一步改进。...Android App Bundle 具有无需重构代码、转换过程轻松便捷优点,因此要求我们实现转换原模块化开发模式过程,同样也要保持这样优点: 低入侵、业务代码基本零重构 不变更模块间编译依赖关系...5.收集 base 依赖资源 包括基础依赖模块 AndroidManifest 配置文件。...采用复制另一个重要原因是 feature 可能由于命中缓存、不会转换为 Project 参与编译,所以没采用编译任务来合并。

4.6K31
领券