掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:DevMcryYu 校对者:ScDadaguo 创建 Android Dev Summit 应用并发布具有即时体验的应用程序包的总结...11 月 7 日和 8 日,在加利福尼亚州山景城的 Android Dev Summit 举办时,会议使用的应用程序已经发布给所有与会者及远程观众。 ?...此功能与应用的每一层深度耦合,严重增加了数据库的复杂度。在 I/O 应用中,我们使用了一个 endpoint 来指明一个用户是否是注册的与会者。未注册的与会者具有不同的用户体验。...即时应用统计信息 这是我们第一次发布会议应用程序作为即时应用,我们很好奇有多少人会使用这个模型。 ?...用户在 Android 手机上搜索峰会即可找到即时应用。 ? Google 搜索结果显示峰会的即时应用 从即时应用到安装应用程序的流程由 Google Play 无缝处理。 ?
Android系统每更新一次系统,对开发者而言都是持续而漫长的挑战。...系统后部仅需一次滑动即可调用,而无需使用Android 11的两次滑动。无需其他滑动即可拉下通知栏或开始回家。...您的应用程序以Android 11或更低版本为目标,并在通知抽屉的顶部显示一个窗口。...这是因为,如果startActivity() 在窗口位于通知抽屉顶部的同时调用您的应用程序 ,则系统会自动关闭通知抽屉。 您的应用定位到Android 11或更低版本。...这个应用程序组件被称为notification trampoline。 为了提高应用程序性能和用户体验,面向Android 12的应用程序无法从用作通知蹦床的服务或 广播接收器启动活动 。
再也不需要打开三个单独的应用程序来完成所有这些操作! 一次性权限和自动重置 过去几年来,Google面临着与用户隐私和安全有关的重大疏忽,这已不是什么秘密。...幸运的是,Android 11现在比以往任何时候都可以更好地控制用户的隐私和安全。 在Anddroid 11 中 增加了一次性权限。...对话通知 在Android 10中,通知列表包含了所有通知。某些应用程序倾向于被优先处理并排在列表的顶部,但是似乎没有任何特定的原因。同时,较低优先级的通知将下移至静默部分,该部分不会发出任何警报。...重点是确保您永远不会错过与重要的日常互动相关的通知。 同时,“警报”和“静默”部分的功能与Android 10中相同。您还可以轻松地使某些应用程序的通知静音,这会将将来的所有通知推送到“静默”部分。...使用Android 11,您现在比以前拥有对通知的更多控制权。
这个通常都是由系统去决定的,我们一般情况下都不需要主动通知系统应该去GC了(虽然我们确实可以这么做,下面会讲到),但是我们仍然可以去监听系统的GC过程,以此来分析我们应用程序当前的内存状态。...其实非常简单,系统每进行一次GC操作时,都会在LogCat中打印一条日志,我们只要去分析这条日志就可以了,日志的基本格式如下所示: D/dalvikvm: 通知系统去进行GC操作,比如调用System.gc()方法来通知系统。...关于这个暂停的时间,Android在2.3的版本当中进行过一次优化,在2.3之前GC操作是不能并发进行的,也就是系统正在进行GC,那么应用程序就只能阻塞住等待GC结束。...现在我们可以将程序运行起来,然后不断地旋转手机让程序在横屏和竖屏之间切换,因为每切换一次Activity都会经历一个重新创建的过程,而前面创建的Activity又无法得到回收,那么长时间操作下我们的应用程序所占用的内存就会越来越高
用户为每账户输入一次 认证信息(credentials,包含用户名和密码),过过 点击一次(one-click)完成认证的方式,授权应用程序(app)访问 在线的资源。...AccountManager可以为应用程序生成认证标记(auth token),那么应用程序不在需要去直接处理密码。...如果是第二次出处理失败了,那么它将被当做一次诚恳的认证失败来对待并 且通知用户或做其他适当处理。...或者一些情况下,安装一个通知,它是用户可以选择去启动接口。让AccountManager直接启动接口,调用者必须提供当前 前端的Activity的Context....android:icon的一个使用者是在 “账户和同步”设置页,android:smallIcon的一个使用者是在 联系人 应用程序的标签面板。
这与Android P 保持一致——Google仅通过手动下载和Flash进行第一次预览,强调仅供开发人员使用,不适用于日常或消费者使用。 ? 除此之外,同样的规则也适用。...第一次预览的目标是让开发人员尽早使用该版本,以便他们可以探索应用程序的新功能和API,测试兼容性并提供反馈,然后在2018年5月8日到5月10日之间分享更多的详细信息。...如果你想要简短版本,以下是首个Android P开发者预览的亮点:内置支持显示图样(读取:凹槽)、调整的快速设置面板,带圆角的通知抽屉,回复内联时的通知消息,通知中的智能回复,用于指纹验证的一致UI,以及限制应用程序在后台执行的隐私增强功能...以下是所有新API和新特性的较长版本(也许还有更多内容,毕竟这只是第一次预览): 显示剪切支持:应用程序现在可充分利用全屏幕内容和API的最新设备屏幕,让你管理自己内容的显示方式,包括检查剪切形状和请求周围的全屏布局...改进的消息通知:新的MessagingStyle通知样式突出显示谁正在发送消息以及如何回复。你可以显示对话,附上照片和贴纸,甚至聪明的建议回复。
13 里增加了通知的运行时权限」,其中 Android 13 (33) 的通知会根据正在运行的应用程序的目标 API 级别进行不同的处理,「不过不管应用程序的目标API级别如何,Android 13...都会提示用户授予应用程序发送通知的权限」。...12L(API 级别 32)或更低版本为目标平台;当应用程序创建其第一个通知渠道时,系统将显示权限对话框; 如果是现有应用更新,程序的目标 API 级别为: 以 Android 13 (33)为目标平台...,系统临时授予应用发送通知的权限,直到应用中的 activity 首次启动(也就是更新之后第一次启动应用),这要求应用必须有一个现有的通知通道,且其通知不得被用户明确禁用; 如果应用以 12L (32)...前台服务 (FGS) 任务管理器 Android 13 的新前台服务( Foreground Services:FGS)任务管理器显示当前运行前台服务的应用程序列表,此列表称为活动应用程序,可以通过下拉通知抽屉并点击启示来访问
系统会提示用户与短信交互或使用一次性代码来验证其在站点或应用上的身份。 基于语音的身份验证 语音身份验证的工作方式与推送通知类似,但身份是自动确认的。...用户通过扫描服务提供商显示的二维码将应用程序与帐户配对;然后,应用程序会为每个帐户持续生成基于时间的一次性密码 OTP (TOTP) 或其他软件令牌,通常每 30-60 秒生成一次。...,这些认证程序都支持生成TOTP,有的 还支持推送通知功能,即你在一个新设备登录账号时,选择认证程序确认,这时手机认证程序会收到一个推送通知确认是否同意登录,点击确认即可,推送通知免去了输入TOTP一次性密码口令的过程...在应用程序中生成TOTP。 在应用程序中生成HOTP。 Authy支持向您的移动或桌面设备发送一次性密码(OTP)来加强您的在线安全,直接与网站或服务同步以授予您访问权限。...在应用程序中生成TOTP。 访问注册站点时触发的推送通知。 安全备份策略 加密备份 密码库文件备份时使用密码进行加密,比如使用GPG 进行加密后。
Android 开发者可以使用这些着色器在应用程序中创建波纹、模糊、拉伸等类似的高级效果。...这个更新的标准提供了一些如提高控制器的分辨率、更好地支持非西方音调,以及使用每音符控制器的更多表现力的功能。...、电话号码或登录凭据等敏感数据,Android 将在一段时间后自动清除剪贴板历史记录; 新版本有助于控制设备的通知,并确保用户只收到所要求的提醒。...你下载的应用现在需要你的显式权限才能发送通知,而不是默认允许发送通知。 另外在 Android 13 中,可以从 Android 手机复制内容(如 URL、图片、文本或视频)并将其粘贴到平板上。...同时,Android 13 还具有如第三方相机应用程序上的 HDR 视频支持、用于 Talkback 的盲文显示器等。
不同的聊天通知 消息可以与其他通知分开放置,位于Android 11的通知阴影中,您甚至可以直接从通知中回复带有图片的消息,而不必先深入到应用程序中。...长按消息通知,您将可以在微型浮动气泡中打开对话,该气泡将覆盖在屏幕上所有其他内容的上方,类似于Facebook Messenger的浮动头。您也可以移动聊天气泡。 使用摄像头时静音 ?...使用Android 11时,您的手机可以在使用相机应用程序时自动将通知声音和振动静音,这意味着您将再也不能因为晃动的视频片段而责怪您的朋友。...最后但并非最不重要的一点是,Android 11将引入一些新的权限选项,以帮助您掌握共享数据的最新状况。 首次启动应用程序时,您可以选择一次性授予该应用程序某些权限。...该名称将显示在“在使用应用程序时”和“拒绝”旁边。只有可以向谷歌证明其合理性的应用程序才能为您提供Android 10 当前显示的“始终允许访问”选项。
最新发布的Android 12首个开发者预览版则对手势导航模式进行了简化:用户不再需要滑动两次,只需一次滑动手势,即可退出全屏沉浸模式并返回上个界面,更加高效和便利。...Android 12则更进一步限制了所有非系统应用程序对设备MAC地址的访问,无论目标API级别如何。...Android 12行为变更:针对Target = 12的应用 自定义通知栏 Android 12 开发者预览版对通知栏进行了更改。...Android 12更改了完全自定义通知的外观。对于 target = 12 的应用,在通知栏的消息展示均使用统一的模板。...性能 前台服务启动限制 以 Android 12 为目标的应用程序,无法在后台运行时启动前台服务,应用程序在后台运行时,可考虑使用 WorkManager 执行任务。
前台服务可以避免这个问题的发生,但是前提条件是你需要在通知栏显示一个置顶的无法清除的硕大的通知栏。...通常Android手机待机状态下平均电流在8mA左右,如果你希望你的应用内置到某款手机上,对不起,手机厂商对于耗电问题绝不手软,高于5mA平均电流消耗的应用通常是无法被接受的。...为了更好地在耗电方面进行优化,首先需要了解到每唤醒一次AP核,都会带来一段时间的固定开销(可能是几百ms),然后再重新休眠,即使你什么也不做。...目前,大多第三方信息推送采用的方式是,为应用开发者提供SDK包嵌入应用程序来实现信息的推送。于是,每个用户的手机里可能会有多个应用都包含了个推的SDK,也就是服务通道。...资源是大家的,请珍惜每1mAh的电。
通知冷处理 有时候,我们和朋友的聊天会很嗨,一下子会源源不断的消息过来,尤其是群聊,这样在你的设备上一遍又一遍地产生新的通知声音。 Android 15新增的这个通知冷却功能将为你解决这个问题。...当你不断收到来自同一应用程序的新通知时,它会自动降低通知的音量,减少通知干扰。 局部屏幕共享 针对屏幕录制,现在的录屏功能是一旦开启,就不能控制它的录屏应用。...在Android 15中,谷歌将允许你只选择一个应用程序进行记录,通知和其他应用程序将自动屏蔽。...在Android 15中扩展了通用MIDI包(UMP)对虚拟MIDI应用程序的支持。...总结 Android 15 是 Android 操作系统的又一次重大更新。它带来了许多新功能和改进,可提高用户体验、安全性、性能和电池续航时间。万变不离其宗,每次的更新都离不开这里命题。
答: 1、不设置Activity的android: configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次。...2、设置Activity的android: configChanges=“orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次。...Android Service只继承了onCreate(), onStart(),onDestroy()三个方法,当我们第一次启动Service时,先后调用onCreate(), onStart()这两个方法...在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。 3、使用SQLite数据库存储数据,Android提供的一个标准数据库,支持SQL语句。...2、Linear Layout可以通过orientation属性设置线性排列的方向是垂直还是纵向的,每行或每列只有一个元素,可以进行复杂的布局。
名词解释 设备标识 Registration ID 集成了 JPush SDK 的应用程序在第一次 App 启动后,成功注册到 JPush 服务器时,JPush 服务器会给客户端返回唯一的该设备的标识...JPush SDK 会以广播的形式发送 RegistrationID 到应用程序。...游戏运营时,发现该用户 3 天没有玩游戏了,则根据 userid 调用服务器端API发通知到客户端提醒用户。 标签 tag 为安装了应用程序的用户,打上标签。...android Android 平台上的通知,JPush SDK 按照一定的通知栏样式展示。...builder_id int 可选 通知栏样式ID Android SDK 可设置通知栏样式,这里根据样式 ID 来指定该使用哪套样式。
通知权限 通知权限可以说是Android 13的重磅功能之一。 在过去,任何一个应用想要发出通知的话都是不需要经过用户同意的,想发就能发。...这就使得我们的手机通知栏经常被一些垃圾通知占领,真正重要的通知反而可能很难被找到。 这次Android 13则把通知纳入了运行时权限管理,也就是说,以后想要发送通知,得要先经过用户同意授权才行了。...因为在Android 13以下的系统,虽然应用程序可以不经过用户同意就发送通知,但是用户也有权力去屏蔽任何应用程序的通知,效果等同于用户拒绝了通知权限。...然后再来看一下上述代码在Android 12上的运行效果。 需要注意还有一个细节,每个应用程序的通知开关在Android 12及以下系统都是默认开启的。...可以看到,在Android 13上申请BODY_SENSORS权限时,用户只能授权在前台使用。 那么如果我们的应用程序就是要在后台获取运动传感器数据怎么办呢?
Android应用程序开发者开发应用程序时,对系统框架的进程和线程运行机制不必了解,只需要利用四大组件开发,Android应用开发时可以轻易调用别的软件提供的功能,甚至可以调用系统App,在Android...Android平台的进程之间需要频繁的通信,比如打开一个应用便需要在Home应用程序进程和运行在system_server进程里的ActivityManagerService通信才能打开。...3 Android Binder设计目的就是让访问远端服务就像调用本地函数一样简单,但是远端对象不再本地控制之内,我们必须保证调用过程中远端的对象不能被析构,否则本地应用程序将很可能崩溃。...binder_driver_return_protocol 共包含18条命令,分别如下: 返回类型 说明 参数类型 BR_OK 操作完成 void BR_NOOP 操作完成 void BR_ERROR 发生错误 _s32 BR_TRANSACTION 通知进程收到一次...结构的解耦合,让每一层可以用更适合的技术方案,更适合的语言 方便维护,可分层调试和定位问题 Binder架构也是采用分层架构设计,每一层都有其不同的功能,以大家平时用的startService为例子,AMP
Xposed 网上关于Xposed的介绍很多,但都是点到为止,比如: 在Android系统中,应用程序进程以及系统服务进程SystemServer都是由Zygote进程孵化出来的,而Zygote进程是由...包加载到每一个Android应用程序中的原因, 我当然不会满足于这么一点浅薄的介绍,既然用这个框架了,那就得把这个框架搞清楚对不?...Android应用程序中。...现在我们就用 Hook 技术拦截部分通知,限制应用内的通知发送操作。...我们发现 sService 是个静态成员变量,而且只会初始化一次。只要把 sService 替换成自定义的不就行了么,确实如此。
对于Android TV设备,应用程序可以将自己置身于画中画面模式,能够继续显示在用户浏览或与其他应用程序进行交互的内容。 开启分屏多任务的方法十分简单。...直接回复:对于实时通信应用程序,Android系统支持在线回复,使用户可以以短信或短信通知界面内快速、直接响应。 自定义视图:两个新的 API 让用户在通知中使用自定义视图。...这个看似新颖的设计实际上是对现有通知管理操作的一次简化,在 Android 6.0 中需要在两个界面来回跳转才能完成的操作,在Android 7.0只用在一个界面就可以搞定。...这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池。 3.3 流量节省程序(Data Saver) 在移动设备的整个生命周期,蜂窝数据计划的成本通常会超出设备本身的成本。...在Lollipop和Marshmallow(Android 6.0)中,大的应用需要数分钟才能安装完。Android中N,添加了代码分析JIT编译器技术,提高了Android应用程序的性能。
与Facebook多年来在Android上提供的Messenger应用程序类似,Android 11优化了短信功能,提供更加友好的交互。...同时,为了确保用户能尽快收到对方的消息,Android 11在通知阴影(Notification Shade)中引入了一个专门的对话部分,它将提供对用户正在进行的任何对话的即时访问。...这一更新将有助于短信消息从其他通知中脱颖而出。 隐私和权限 回顾Android 10,其中的一大亮点就是改进了对应用程序权限“仅这一次”的处理。...Android 10给了用户更多的应用程序控制权以及他们可以访问的内容,Android 11则提出一个更加出色的新功能。 现在,Android 11 新增了关于位置、麦克风和摄像头的一次性权限许可。...也就是说,获得一次性权限许可的 APP 在下次使用时,依然要询问用户获取授权。下次再使用该应用程序并希望使用该权限时,还会再重新授予它访问权限。