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

google官方推荐隐私最佳实践!

请注意,较高版本 Android 通常会以注重隐私保护方式引入无需权限即可访问数据方法。 仅在需要时(不是应用启动时)请求权限,以便用户清楚地了解您应用需要权限。...如果您应用需要在后台访问位置信息(例如在实现地理围栏时),请确保这种访问对使用应用核心功能起到至关重要作用,并且采用一种用户清楚知道方式完成。详细了解使用后台位置信息注意事项。...如果在用户离开应用界面后,应用需要继续访问位置信息才能执行用户启动持续性任务,请在应用进入后台之前启动前台服务。...您可以在 Android 其中一个生命周期回调(例如 onPause())中执行此操作。 请勿在后台启动前台服务。您应考虑从通知中启动应用,然后在用户进入应用界面时执行位置代码。...请注意,在搭载 Android 9 及更高版本系统设备上,当您应用后台运行时,系统不允许使用麦克风或摄像头。 Jetpack 会提供多个库来提升应用数据安全性。

1.1K20

新版本系统适配: Android 12 中兼容性变更

这样一来,当用户将设备更新至 Android 12 时,确保其拥有良好体验。 本文将重点介绍 Android 12 中最大兼容性变更,并分享有关如何用户顺利过渡到最新版本系统一些建议。...我们发现几乎一半前台服务是从后台启动,这导致了许多问题,包括电量会被迅速耗尽,以及用户会被意外前台服务通知困扰等。...因此从 Android 12 开始,将禁止从后台启动前台服务,并对启动前台服务作了限制。...以下情况启动前台服务: 可见 Activity 或窗口 用户操作,如通知、小部件等等 特定广播和回调 STICKY 类型服务可在崩溃或由于低内存停止运行情况下重启 今年早些时候,我们在 Jetpack...这些低延迟任务可从前台或后台调用并会立即执行。这些任务可在低电量模式下运行。我们鼓励开发者尽可能使用这些任务来替代启动前台服务

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

Android内存管理(六)Android对Linux系统内存管理机制进行优化

考虑一下,还有哪种情况会导致触发onPause不触发onStop? 托管通过 Service.startForeground() 启动前台Service。...因此,除非内存不足以维持所有前台进程和可见进程同时运行,否则系统会服务进程保持运行状态。...保留这种进程唯一目的是用作缓存(为了更加有效使用内存不是完全释放掉),以缩短下次启动应用程序所需时间,因为启动一个新进程也是需要代价。只要有需要,Android会随时杀死这些进程。...由于运行服务进程其级别高于托管后台 Activity 进程,因此,在 Activity 中启动一个长时间运行操作时,最好为该操作启动服务不是简单地创建工作线程,当操作有可能比 Activity...所以说没有带后台服务应用是不耗电也不占用CPU时间,没必要关闭,这种设计本身就是Android优势之一,可以应用下次启动时更快。

1.6K10

深度了解Android 7.0 ,你准备好了吗?

Android N 中,Project Svelte 注重优化在后台运行应用方式。 后台处理是大多数应用一个重要部分。处理得当,实现非常棒用户体验—即时、快速和情境感知。...未来 Android 版本还可能会弃用其他隐式广播以及未绑定后台服务。有鉴于此,应避免依赖在清单文件中声明接收器来侦听隐式广播或删除此依赖关系,以及避免或删除对后台服务依赖关系。...Android 框架提供多种解决方案来降低这些隐式广播或后台服务必要性。...Data Saver用户可以控制应用使用蜂窝数据方式,同时让开发者打开Data Saver时可以提供更多有效服务。...变量选择符能够呈现一些彩色或黑白表情符号。在移动设备上,应用应呈现彩色表情符号,不是黑白。但是,如果应用显示嵌入在文本中表情符号,那应使用黑白变量。

2.8K10

Android消息推送:第三方消息推送平台详细解析

服务会被杀死 由于Android系统机制,后台推送 Service 会被各种主动或是被动行为给杀死,服务一旦被杀死,意味着就接收不到推送消息。 ---- 3....如果用户群体精准(使用小米手机或华为手机居多),可以考虑集成对应手机厂商推送; 注意:单一手机厂商也能工作,比如小米推送在非小米手机上当然也能工作,只不过不是系统级别的服务了,容易被杀死。...对于华为手机,使用华为推送; 对于其他手机,使用单一第三方平台类推送(极光、友盟blabla,选一个规模效应最大不同推送运行在各自擅长环境里,最大化实现推送到达率和产品存活率...我们来看下小米推送官方文档描述: 在一些 Android 系统(如 MIUI)中,受到系统自启动管理设置限制,应用不能在后台启动 在这类系统中,如果在发送消息时候对应应用没有被启动,透传类消息将不能顺利送达...接下来,我会继续介绍具体如何Android应用中集成相应第三方推送功能(小米推送、极光推送、个推等等),有兴趣可以继续关注Carson_Ho安卓开发笔记 ----

9.6K60

Android进程和线程

---- 当某个应用组件启动且该应用没有运行其他任何组件时,Android 系统会使用单个执行线程为应用启动 Linux 进程。...因此,除非内存不足以维持所有前台进程和可见进程同时运行,否则系统会服务进程保持运行状态。...根据进程中当前活动组件重要程度,Android 会将进程评定为它可能达到最高级别。例如,如果某进程托管着服务和可见 Activity,则会将此进程评定为可见进程,不是服务进程。...由于运行服务进程其级别高于托管后台 Activity 进程,因此启动长时间运行操作 Activity 最好为该操作启动服务不是简单地创建工作线程,当操作有可能比 Activity 更加持久时尤要如此...使用服务可以保证,无论 Activity 发生什么情况,该操作至少具备“服务进程”优先级。 同理,广播接收器也应使用服务不是简单地将耗时冗长操作放入线程中。

1.2K30

app功能测试--需要测试哪些要点

,单击取消后软件卸载情况是否正常 2.运行 ▲软件安装后需要检查应用是否能正常运行: ▲APP安装完成后,是否可以正常打开,稳定运行 ▲APP速度是可以人接受,切换是否流畅 ▲网络异常时,应用是否会崩溃...(比如邮箱账号需要邮箱格式等) ▲账号或密码输入错误时建议提示“账号或密码错误”,不是“账号错误”或“密码错误” ▲密码是否加密传输(抓取请求查看) ▲密码更改后,登录时是否做到了有效数据校验:修改前密码失效...针对用户权限,我们可以多关注以下几点: ▲首次启动APP询问是否同意启用权限 ▲消息权限开启时,消息推送是否正常接收(iOS系统应用启用和后台关闭时都应该可以收到;Android系统在后台关闭进程后就不会推送...6.软件更新 ▲强制更新(APP开启后要求必须更新,否则无法使用APP):1.多次关闭和打开APP后是否正常跳出更新弹窗,且无法关闭;2.点击更新是否正确跳转至后台配置更新页面; ▲非强制更新(提示一次更新...; ▲APP运行时接入电话,短信,微信,或其他消息 由于移动互联网应用太多,更新频繁,无论如何不是个人经验所能覆盖完全

2K50

Android面试题大全

为什么还需要开启消息循坏 使用子线程更新UI有实际应用场景吗 Android程序运行时权限与文件系统权限区别 Android进程与线程 进程 前台进程 可见进程 服务进程(service进程) 后台进程...一个 Android 应用必须通过 Activity 来 运行启动,Activity 生命周期交给系统统一管理。...Service 组件通常用于为其他组件提供后台服务或监控其他组件运行状态。...其他应用组件能够启动 Service,并且当用户切换到另外应用场景,Service将持续在后台运行。...google建议启动图片放入。 lib color Android几种动画 帧动画:指通过指定每一帧图片和播放时间,有序进行播放形成动画效果,比如想听律动条。

1.3K50

Android」四大组件,你真的都掌握了?

这些钩子可以在正常生命周期(正常是由操作系统控制)之外控制Android控件运行。 它们同时可以控制Android如何加载应用程序。...Context继承关系 二、Service ---- 可以在后台执行长时间运行操作没有用户界面的应用组件 Service 分为两种工作状态,一种是启动状态,主要用于执行后台计算;另一种是绑定状态...在 android 系统中运行应用,需要跟Zygote 进程(拥有应用程序运行时所需要各种元素和条件)结合后才能执行。 Zygote 进程运行时,会初始化 Dalvik 虚拟机,并启动它。...2.2 绑定过程 2.2.1 使用startService启动服务生命周期 如果仅仅只是为了开启一个后台任务,那么可以使用startService方法。...高效解决「SQLite」数据库并发访问安全问题,这一篇就够了 每个人都要学图片压缩终极奥义,有效解决 Android 程序 OOM Android Room 搭上 RxJava 顺风车 从重复代码中解脱出来

94840

如何正确地在Android手机上安装国产软件?

国产app全家桶问题一直被大家诟病,一个应用启动后就会“唤醒”其“家族”内其他应用,有时还会通过其他方式确保应用始终在后台运行;与此同时,很多应用还会申请与之功能完全不符权限,这些严重破坏了Android...要获得一个纯净体验,我们需要解决是两种问题,首先是软件自启动、驻足后台、频繁唤醒;其次是应用对手机信息读取。 对应这两个问题,我们要寻找各种解决方案,手机本身环境也是我们需要考虑因素。...Android平台应用程序分为七个优先级:前台进程、可见进程、主要服务、次要服务后台进程、内容供应节点、空进程。...想要更直接地阻止应用后台运行,也可以使用“阻止运行”和“黑域”。 除了绿色守护,为了保障你隐私,你还应该安装Xprivacy,这款软件可以设置软件读取隐私信息权限。...利用这些推送服务,往往一个app开启后就会其他应用都可能关联启动,尤其以百度、阿里、腾讯为甚。这也就是前面所说“全家桶”。

3.7K70

Android最佳性能实践(一)——合理管理内存

一个Service在后台一直保持运行,即使它并不执行任何工作,这是编写Android程序时最糟糕做法之一。...在这种场景下释放资源可以系统缓存后台进程能力显著增加,因此也会用户体验变得更好。 那么我们如何才能知道程序界面是不是已经不可见了呢?...这个时候我们应当尽可能地去释放任何不必要资源,不然的话系统可能会继续杀掉所有缓存中进程,并且开始杀掉一些本来应当保持运行进程,比如说后台运行服务。...,不是经历了一次重新启动过程。...如果你要使用它的话一定要谨慎使用,因为绝大多数应用程序都不应该在多个进程当中运行,一旦使用不当,它甚至会增加额外内存不是帮我们节省内存。

74761

Android入门教程 | 四大组件之Service(前台服务后台服务

Service是一种可在后台执行长时间运行操作不提供界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用服务仍将在后台继续运行。...前台服务服务执行一些用户能注意到操作。例如,音频应用会使用前台服务来播放音频曲目。前台服务必须显示通知。 即使用户停止与应用交互,前台服务仍会继续运行。...Service是什么 Service 是 Android 四大组件之一,它可以在后台执行长时间运行操作没有用户界面的应用组件。...Service 启动方式有两种:startService 启动和 bindService 启动。 注意:服务与其他应用程序对象一样,在其托管进程主线程中运行。...使用 startService 启动服务生命周期 使用BindService绑定服务生命周期 同时使用 startService() 启动服务、BindService() 绑定服务生命周期

4.6K30

安卓13又来了?快!扶起我来!

细化媒体权限如果要将应用升级为 Android 13 ,必须请求一个或多个新权限,Android 13 中将媒体权限细分为了图片、视频和音频文件,不是之前 READ_EXTERNAL_STORAGE...开发者降级权限从 Android 13 开始,应用可以撤消先前由系统或用户授予运行时权限。开发者可以:撤消未使用权限。遵循权限最佳做法,从而提高用户信任度。...为了使系统撤消权限,必须终止与应用关联所有进程。当调用该 API 时,系统会确定何时可以安全终止这些进程。通常,系统会等待应用有较长时间在后台运行不是在前台运行时。...后台使用身体传感器新权限Android 13 中引入了“在使用时”访问身体传感器(例如心率、体温和血氧饱和度)概念,如果要升级为 Android 13,并且在后台运行时需要访问身体传感器信息,那么除了现有的...如果用户启用了带主题应用图标,启动器支持此功能,则系统将使用用户选择壁纸和主题来确定色调颜色,然后该颜色将应用于单色应用图标。

83440

快让你App分20亿吧!

这个分钱呢,哦,不对,这个功能呢,咱们都应该知道首先肯定不是通过App更新来更新,过节日为了更新一个图标用户升级App,估计会被打死吧。这种功能俗称叫做:动态替换App图标。...我们看到桌面上同时显示了三个图标,点击每个图标显示都是MainActivity页面,如果你对点击图标启动App过程感兴趣,移步至我之前文章 APP启动流程解析 同时在这里要注意无论我们点击哪个图标启动...那么,我们该如何对这里进行优化呢,建议就是找准时机去变化,比如当应用切换到后台时候,当应用后台时候判断是否需要切换,需要切换的话再去切换,这里就不演示了,如果你不知道如何监听应用后台可以参考我之前文章...但是呢,即使在后台去切换的话阴差阳错巧合下仍然会出现问题,那么人家**宝等软件是如何处理呢,经过多方周转与咨询我得到了一个令人信服答案:切换时不被kill的话 需要有系统权限。...同时也要注重测试升级过程中改变,这里建议是 Alias标签一旦添加后,增不可删,也不要随意更改enable属性值,否则会有意想不到事情出现。

59920

深度了解Android 7.0 ,你准备好了吗?

在 Android N 中,Project Svelte 注重优化在后台运行应用方式。 后台处理是大多数应用一个重要部分。处理得当,实现非常棒用户体验—即时、快速和情境感知。...未来 Android 版本还可能会弃用其他隐式广播以及未绑定后台服务。有鉴于此,应避免依赖在清单文件中声明接收器来侦听隐式广播或删除此依赖关系,以及避免或删除对后台服务依赖关系。...Android 框架提供多种解决方案来降低这些隐式广播或后台服务必要性。...变量选择符能够呈现一些彩色或黑白表情符号。在移动设备上,应用应呈现彩色表情符号,不是黑白。但是,如果应用显示嵌入在文本中表情符号,那应使用黑白变量。...Android 7.0诸多新特性,如何立刻体验? 腾讯WeTest 云真机上已经有多部Android 7.0手机可以选择,您在网页端流畅控制云端手机。 ?

1.4K30

Android 新特性_Android10使用

Android N新增分屏多任务,除了第三方ROM开发商可以参照这个模板进行二次开发,软件开发商也能根据Android N分屏多任务功能实现方式去进行软件开发。...在 Android N 中,Project Svelte 注重优化在后台运行应用方式。后台处理是大多数应用一个重要部分。处理得当能实现即时、快速体验。...这项新系统服务有助于减少应用使用蜂窝数据,无论是在漫游,账单周期即将结束,还是使用少量预付费数据包。有效防止应用程序在后台恶意偷跑移动流量。...Data Saver 用户可以控制应用使用蜂窝数据方式,同时让开发者打开 Data Saver 时可以提供更多有效服务。...应用可以使用这些 API(不是使用 READ_EXTERNAL_STORAGE),其授予所有存储目录访问权限或存储访问框架,从而用户可以导航到目录。

1.2K20

【苦读官方文档】2.Android应用程序基本原理概述

Android系统默认会给每个应用分配一个唯一用户ID(这个ID被系统使用,应用并不了解)。系统给每个应用对应所有文件都设置了权限,只有用户ID正确应用才能访问。...比如说一个相机应用为了用户分享相片,可以直接启动创建邮件Activity。 Services Service是一个运行后台组件,常用来进行长耗时操作或者执行跨进程操作。...比如说,Service可以在用户使用别的应用时候后台播放音乐,或者也可以在不妨碍用户交互情况下,在后台服务器请求数据。...比如说,你应用启动了拍照应用activity,那个activity运行在相机应用所在进程,不是应用进程。...Intent在运行时(可以理解为当请求调用其他组件时)绑定调用和被调用组件,无论组件是不是属于你应用

54220

很全面的Android面试题

如果是调用者自己直接退出没有调用stopService的话,Service会一直在后台运行。...根据Android系统机制,一个服务只要被启动或者被绑定了之后,就会一直处于运行状态,必须要让以上两种条件同时不满足,服务才能被销毁。...start –> bind -> unbind -> stop 经常使用服务长期后台运行,又可以调用服务方法 service如何杀不死?...1.Service特点可以他在后台一直运行,可以在service里面创建线程去完成耗时操作. 2.Broadcast receiver捕获到一个事件之后,可以起一个service来完成一个耗时操作...当然还有其他好处,有心人会发现Android后台进程里有很多应用是多个进程,因为它们要常驻后台,特别是即时通讯或者社交应用,不过现在多进程已经被用烂了。

5.9K70

现代 WorkManager API 已发布

例如用户想要离线观看某个视频,又不想一直停留在应用界面等待下载完成,那么就需要以一定方式这些离线过程在后台运行。...多次执行工作 很多具备与服务器同步功能应用都具有这样特点: 应用与后端服务同步往往不是一次性,它可能是需要多次执行。...执行加急工作 Android 12 中引入了新前台服务限制,当应用后台时是无法启动前台服务。...另外需要注意,进程内调度程序在默认进程中运行。 多进程初始化 △ 多进程初始化过程 接着我们再看看如果应用有第二个进程会发生什么。...通过本文了解到如何以及何时使用加急工作 API,如何编写可靠高性能多进程应用。希望这篇文章对您有所帮助,下一篇文章将对新后台任务检查器做出简单介绍,敬请关注!

1.2K20
领券