咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

【原文:behavior-changes-13】

与早期版本一样,Android 13 包含一些行为变更,这些变更可能会影响您的应用。以下行为变更仅影响以 Android 13 或更高版本为目标平台的应用。如果您的应用以 Android 13 或更高版本为目标平台,您应该修改自己的应用以适当地支持这些行为(如果适用)。

此外,请务必查看对 Android 13 上运行的所有应用都有影响的行为变更列表。

隐私权

通知权限会影响前台服务的显示

阅读全文 »

【原文:behavior-changes-all】

Android 13 平台包含一些可能会影响您的应用的行为变更。以下行为变更会影响在 Android 13 上运行的所有应用,无论采用哪种 targetSdkVersion 都不例外。您应该测试您的应用,然后根据需要进行修改,以适当地支持这些变更。

此外,请务必查看仅影响以 Android 13 为目标平台的应用的行为变更列表。

性能和电池

前台服务 (FGS) 任务管理器

阅读全文 »

【原文:功能和 API 概览】

Android 12 面向开发者引入了一些出色的新功能和 API。以下几部分内容可帮助您了解适用于您的应用的功能并开始使用相关 API。

用户体验

Material You

阅读全文 »

【原文:behavior-changes-12】

与早期版本一样,Android 12 包含一些行为变更,这些变更可能会影响您的应用。以下行为变更仅影响以 Android 12 或更高版本为目标平台的应用。如果您的应用以 Android 12 为目标平台,您应该修改自己的应用以适当地支持这些行为(如果适用)。

此外,请务必查看对 Android 12 上运行的所有应用都有影响的行为变更列表。

用户体验

自定义通知

阅读全文 »

【原文:behavior-changes-all】

Android 12 平台包含一些行为变更,这些变更可能会影响您的应用。以下行为变更将影响在 Android 12 上运行的所有应用,无论采用哪种 targetSdkVersion 都不例外。您应该测试您的应用,然后根据需要进行修改,以适当地支持这些变更。

此外,请务必查看仅影响以 Android 12 为目标平台的应用的行为变更列表。

用户体验

拉伸滚动效果

阅读全文 »

【原文:功能和 API 概览】

Android 11 面向开发者引入了一些出色的新功能和 API。以下几部分内容可帮助您了解适用于您的应用的功能并开始使用相关 API。

新体验

设备控件

阅读全文 »

【原文:behavior-changes-11】

与早期版本一样,Android 11 包含一些行为变更,这些变更可能会影响您的应用。以下行为变更仅影响以 Android 11 或更高版本为目标平台的应用。如果您的应用将 targetSdkVersion 设为 30,您应酌情修改自己的应用,以便正确支持这些行为。

此外,请务必查看对 Android 11 上运行的所有应用都有影响的行为变更列表。

隐私设置

Android 11 引入了一些变更和限制来加强用户隐私保护,其中包括:

阅读全文 »

【原文:behavior-changes-all】

Android 11 平台包含一些行为变更,这些变更可能会影响您的应用。以下行为变更将影响在 Android 11 上运行的所有应用,无论其采用哪种 targetSdkVersion 都不例外。您应该测试您的应用,然后根据需要进行修改,以适当地支持这些变更(如果适用)。

此外,请务必查看仅影响以 Android 11 为目标平台的应用的行为变更列表。

隐私设置

Android 11 引入了一些变更和限制来加强用户隐私保护,其中包括:

阅读全文 »

【原文:功能和 API 概览】

Android 10 为用户和开发者引入了强大的功能。本文重点介绍面向开发者的功能。

要了解 API,请阅读 API 差异报告或访问 Android API 参考文档,查找“在 API 级别 29 添加”的 API。此外,请务必查阅 Android 10 行为变更(针对以 API 级别 29 为目标的应用所有应用)以及隐私权变更,以了解平台变更可能给您的应用带来哪些方面的影响。

安全增强功能

Android 10 引入了若干安全功能,详见以下各节摘要说明。

阅读全文 »

【原文:behavior-changes-all】

Android 10 中加入了一些更新后的系统行为变更,这些变更可能会影响您的应用。本文档中列出的变更仅适用于以 API 级别 29 或更高级别为目标平台的应用。如果您的应用将 targetSdkVersion 设置为“29”或更高级别,则您应修改自己的应用,以适当地支持这些行为(如果适用)。

此外,请务必查看对在 Android 10 上运行的所有应用都有影响的行为变更列表。

注意:除了本页面所列的变更以外,Android 10 还引入了大量变更和限制,目的是加强用户隐私保护。要了解详情,请参阅隐私权页面。

有关限制非 SDK 接口的更新

阅读全文 »

【原文:behavior-changes-all】

Android 10 包含一些可能会影响您的应用的行为变更。本文档中列出的变更适用于在 Android 10 上运行的应用(无论应用的 targetSdkVersion 如何)。您应该测试您的应用,然后根据需要进行更改以适当地支持这些变更。

如果您的应用的 targetSdkVersion 为 29 或更高,则您还需要支持其他变更。请务必查看针对以 API 级别 29 为目标的应用的行为变更,以了解详情。

注意:在本文档中,除了这些行为变更之外,请确保查看并支持 Android 10 隐私功能

限制非 SDK 接口

阅读全文 »

Android的日志收集主要包括JVM崩溃、Native崩溃、ANR三大类,本文主要是讨论ANR的日志。

一、造成ANR的场景

  • InputDispatching Timeout: 输入事件 5s 未处理完成,包括按键和触摸事件;日志关键字:InputDispatching Timeout
  • Service Timeout: 前台服务 20s 未处理完成,后台服务 200s 未处理完成;日志关键字:Timeout executing service
  • BroadcastQueue Timeout:前台广播 10s 未处理完成,后台广播 60s 未处理完成;日志关键字:Timeout of broadcast BroadcastRecord
  • ContentProvider Timeout:内容提供者 10s 未处理完成;日志关键字:Timeout publishing content providers

二、线下ANR日志

当ANR发生时,早期的Android系统会记录到 data/anr/ 目录中,我们线下可以导出此文件,分析ANR的原因。
旧一点的系统会记录到 data/anr/traces.txt 文件,由于多次出现ANR会有覆盖的文件,所以产商优化之后会根据时间记录每次ANR。
比如在 Android 9 查看ANR文件

阅读全文 »

2022年07月21 JDK 19 发布Rampdown第二阶段,稳定版计划在2022年09月20日发布。

新特性: http://openjdk.java.net/projects/jdk/19/

JDK 19 is in Rampdown Phase Two. The overall feature set is frozen. No further JEPs will be targeted to this release.

The stabilization repository, jdk19, is open for select bug fixes, with approval, per the JDK Release Process (JEP 3). Late enhancements are still possible, with approval, but the bar is now extraordinarily high.

阅读全文 »

问题

在维护一个长时间没更新的项目时,仅升级了 spring-boot-starter-parent 版本至 2.6.x,导致部分服务调用第三方API(用 openfeign 实现)失效。

项目创建时,以下版本都是最新的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath/>
</parent>

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.2.4.RELEASE</version>
</dependency>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

声明 FeignClient 服务,这个第三方接口是要求表单是 x-www-form-urlencoded 编码的。
这个版本的 Feign 默认并不支持 x-www-form-urlencoded,通过 LinkedMultiValueMap 将参数放到Body来解决。

阅读全文 »

【Table 1. Release train Spring Boot compatibility】

2022-06-23为止,以下最新的对应关系:

Release Train Boot Version
2021.0.x aka Jubilee 2.6.x
2020.0.x aka Ilford 2.4.x, 2.5.x (Starting with 2020.0.3)
Hoxton 2.2.x, 2.3.x (Starting with SR5)
Greenwich 2.1.x
Finchley 2.0.x
Edgware 1.5.x
Dalston 1.5.x

Spring Cloud Dalston, Edgware, Finchley和Greenwich都已到达生命状态的终点,不再被支持。

现在,您已经知道了要使用哪个版本系列以及该版本系列的最新服务版本,就可以将Spring Cloud BOM添加到您的应用程序中了。

阅读全文 »

家人的 红米6Pro 用了一段时间了,一直有跟随版本升级更新系统,到 MIUI v10 ~ v12 的时候太卡了,一个最新版的微信App都跑的有点吃力(粤康码要几分钟才加载出来-_-||),所以想帮忙降级到 MIUI v9.6 版本,但这手机是有防止回滚的机制,强行线刷降级会变砖的。
经过查询,发现还是可以通过线刷降级的,要做一点点改动。

一、准备线刷包和刷机软件

  1. 线刷包sakura_images_V9.6.18.0.ODICNFD_20180817.0000.00_8.1_cn.tar.gz
  2. 线刷包最新版本v12
  3. 卡刷包miui_HM6Pro_V9.6.18.0.ODICNFD_7425fcea77_8.1.zip
  4. MiFlash(我用的是2018-5-28-0版本)
  5. miflash_unlock(用的是最新6.5.406.31版)

二、替换基带

为了解决降级而不丢失基带,需要刷入最新版本的基带。
两个线刷包解压到硬盘,把 v12images/NON-HLOS.bin 文件拷贝到 v9.6images/ 目录下(覆盖)。

阅读全文 »

MongoDb索引

注解索引

Springboot JPA 默认不开启自动创建索引,需在yml配置开启,并且只在【新创建的集合】才会生效。

1
2
3
4
spring:
data:
mongodb:
auto-index-creation: true
  1. 标注字段,在创建数据库的时候,会自动创建索引。

    1
    2
    @Indexed(unique = true, direction = IndexDirection.DESCENDING)
    private String username;
  2. 组合索引,在创建数据库的时候,会自动创建索引。

    1
    2
    3
    4
    5
    6
    7
    @CompoundIndexes({
    @CompoundIndex(name = "username_age", def = "{'username': 1, 'age': 1}", unique = true)
    })
    public class User{
    private String username;
    private int age;
    }
阅读全文 »

2022年03月22 JDK 18 发布,是 短期维护版本。

新特性: http://openjdk.java.net/projects/jdk/18/

Features

代号 更新
400: UTF-8 by Default
408: Simple Web Server
413: Code Snippets in Java API Documentation
416: Reimplement Core Reflection with Method Handles
417: Vector API (Third Incubator)
418: Internet-Address Resolution SPI
419: Foreign Function & Memory API (Second Incubator)
420: Pattern Matching for switch (Second Preview)
421: Deprecate Finalization for Removal

400: 默认编码为 UTF-8

阅读全文 »

极光的文档很详细,这里做一下笔记。

一、账号实名认证

需要账号实名认证,否则这个服务用不了,认证通过过,会赠送1000条认证。

二、创建应用

这就不记录了,简单的网页可视化操作流程,要注意的是:

阅读全文 »

现在兼容库主流都是使用了androidx,在使用 org.eclipse.paho:org.eclipse.paho.android.service:1.1.1发现依赖的LocalBroadcastManager是v4的:

1
2
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/LocalBroadcastManager;
at org.eclipse.paho.android.service.MqttAndroidClient.registerReceiver(MqttAndroidClient.java:450)

这个坑位避开有两个方法:

方法一

gradle.properties 加入 android.enableJetifier=true 重新编译就可以。

阅读全文 »