首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏program

    Android 11适配攻略

    是时候适配一波Android11了,为后面项目适配铺平道路。 介绍 2020年6月11日,Google正式推送了Android 11 Beta版本,同年年9月9日正式发布。 开始适配Android 11。 隐私变更 强制执行分区存储机制 为了避免存储空间的读写权限被滥用,手机中存在着大量不明文件,且应用卸载后也没有删除掉。 android:requestLegacyExternalStorage="true" 但是这个适配方法在Android 11中已经失效,必须按照存储机制来乖乖适配,不一样的是Android 11允许使用 的同时不能请求其它权限,否则系统会抛出异常(在没研究Android 11适配的时候,我就已经发现了这个bug,当时以为是系统的bug,还截了两张图,后面仔细查看,找资料才发现是Android 11的变更 如何适配呢?在之前接入微信支付的时候,文档就有提示Android 11 第三方应用无法拉起应用适配适配方案为在主工程的AndroidManifest.xml 中增加 <queries> 标签。

    4.9K11编辑于 2022-06-29
  • 来自专栏移动开发专栏

    Android 11适配指南之Toast解析

    起源 在targetSdkVersion为30的情况下,在Android 11的小米10手机上运行,调用ToastUtil的时候闪退报错: null cannot be cast to non-null type android.widget.LinearLayout 且看已知条件: targetSdkVersion 30 Android 11 小米10 文末附Android 11适配手册 定位问题 view as LinearLayout 现在看来其实是没有错的,事实上运行在Android11以下也确实没问题。 适配方案 综上所诉,适配方案也了然于心了。 Android 11开发手册 《Android 11 开发者手册》

    1.4K30编辑于 2022-06-10
  • 来自专栏Android程序Shape使用总结!

    Android 10 和Android 11适配

    背景 最近在项目中着手做Android10和Android11 适配时候,期间遇到了不少的坑。之前有专门写过qq、微信分享的适配。但是此次在针对偏业务侧适配工作的时候还是碰到了一些新的问题。 但是,这里有个坑: 在Android10上不行,在Android11上又可以!!为什么? 因为Google改回来了,让Android11支持file://格式了。。。。 (wtf? 三、终极适配方案 在Android10上 开启标志位 :android:requestLegacyExternalStorage="true"来开启兼容模式,关闭分区适配,相当于targetSdkVersion 在Android11上 以上标志会自动失效。因此,应用存储的东西还在放在App-specific目录下。分享私有目录可以通过fileprovider 方式适配。 答: 如果按照上面正常适配,肯定完全没得问题!

    1.9K41编辑于 2021-12-20
  • 来自专栏androud

    Android11 (API30)适配

    Android 11 应用兼容性适配指导 本文档基于谷歌Android 11 Developer Preview 4(DP4)版本的变更输出,后续Beta版如有新的变更和特性,我们会刷新文档的相关章节内容 如果您需要对已安装的应用进行适配分区存储的数据迁移,则可以在应用更新到目标平台为Android 11版本后仍暂时保留原有的存储模式。 3 适配指导 执行以下操作来确认行为变更是否已对应用生效: 1 将targetSdkVersion指向Android 11 2 确保已经打开RESTRICT_STORAGE_ACCESS_FRAMEWORK 3 适配指导 (1)Target Android 11 使用自定义的UI界面向用户展示申请ACCESS_BACKGROUND_LOCATION权限原因和过程。 2 兼容性影响 如果您的APP需要使用Mac地址作为设备的标识,无论您的Target SDK是否设置为R,只要运行在Android 11上,您就需要进行适配

    9K11发布于 2021-04-05
  • 来自专栏用户9239674的专栏

    相册适配 Android 11 绕的那些弯路

    : 注意:当您将应用更新为以 Android 11(API 级别 30)为目标平台后,如果应用在搭载 Android 11 的设备上运行,系统会忽略 requestLegacyExternalStorage 这段信息,简单可以理解为 requestLegacyExternalStorage=true 只能解燃眉之急,到了 Android 11 上,还是要做适配工作。 ,如果应用在 Android 11 的设备上运行,系统会忽略 requestLegacyExternalStorage属性,强制开启分区存储。 3、如果 App 中有通过 File Api 访问外部存储共有目录的代码,还是要需做适配的,至于怎么去做本文就不再讨论了 教训 绕了一圈之后,得出两个教训: 适配新版本的时候,最好先用真机测试一下,万一完美运行就不用适配了 认真读文档、认真读文档、认真读文档 Glide 加载缩略图 最后,说个与适配不太相干的话题,只想看适配内容的朋友可以先跳过了。

    2.2K30编辑于 2021-12-23
  • 来自专栏字节流动

    Android 10(Q)11(R) 分区存储适配

    Android 11 (R) Android 11 (R) 在 Android 10 (Q) 中分区存储的基础上进行了调整。 1. 新增执行批量操作 为实现各种设备之间的一致性并增加用户便利性,Android 11 向 MediaStore API 中添加了多种方法。 缺点当然是不强制启用的话,国内 APP 适配进度估计得延后了。不过好消息是在查资料的时候,看到了国内大厂的相关适配文章,至少说明大厂在跟进了。 关于适配的难度: 对绝对路径相关接口依赖比较深的 APP 适配还是改动挺多的;其次权限的划分很细,什么时候需要什么权限以及调用哪个接口,理解起来需要一定时间; MediaStore API SAF API 所以虽然明年才会强制执行分区存储,但还是建议尽早理解和 review 项目中需要适配的代码。

    2.9K30发布于 2020-08-28
  • 来自专栏刘庆红的专栏

    iOS 11 安全区域适配总结

    导语 本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。 一、iOS 11下APP中tableView内容下移20pt或下移64pt的原因分析 问题如下图所示: 1. 安全区域是iOS 11新提出的,如下图所示: 安全区域帮助我们将view放置在整个屏幕的可视的部分。 通过设置iOS 11新增的属性addtionalSafeAreaInset; iOS 11之前,大家是通过将Controller的automaticallyAdjustsScrollViewInsets 那样写是不规范的,只实现高度,而没有实现view,但代码这样写在iOS 11之前是没有问题的,iOS 11之后应该是由于开启了估算行高机制引起了bug。

    5.2K20发布于 2017-09-14
  • 来自专栏携程技术

    干货 | Trip.com Android 11 适配之旅

    作为第一个强制要求分区存储的 API 级别,Android 11无疑是近几年适配工作较为复杂的版本,各个 APP 的适配进度也被寄予期盼。 的正式版里最后还是留下了一个开关,如果在AndroidManifest.xml文件内设置了android:requestLegacyExternalStorage="true",就相当于关闭了分区存储,仍采用旧版存储模型 适配 Android 11 后,Mac 地址和 ICCID 的获取都受限了。 APP 无需权限就可以读写属于它的应用私有目录,这点在适配 Android 11前后都没有变化。 3.1 精确定位范围 部分业务较多的产线比较少直接操作存储或调用了需适配的 API,因此 Android 11适配理论上应该尽可能少地对他们产生影响。

    2K20发布于 2021-09-10
  • 来自专栏腾讯Bugly的专栏

    iOS 11 安全区域适配总结

    | 导语 本文主要是对iOS 11下企鹅 FM APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。 一、iOS 11下APP中tableView内容下移20pt或下移64pt的原因分析 问题如下图所示: ? 1. 安全区域是iOS 11新提出的,如下图所示: ? 安全区域帮助我们将view放置在整个屏幕的可视的部分。 通过设置iOS 11新增的属性addtionalSafeAreaInset; iOS 11之前,大家是通过将Controller的automaticallyAdjustsScrollViewInsets 那样写是不规范的,只实现高度,而没有实现view,但代码这样写在iOS 11之前是没有问题的,iOS 11之后应该是由于开启了估算行高机制引起了bug。

    2.1K100发布于 2018-03-23
  • 来自专栏原创

    安卓11适配攻略详细版

    引言 近期,Google 发布了 Android 11的平台稳定版本。Android 11 将在确保用户隐私安全的前提下,更好地让用户畅享最新科技。 下图是 Android 11 发布整体流程的时间线: 个推深耕开发者领域,一直紧跟行业发展趋势,对Android 11的有关更新展开了深入研究。 本文将从分区存储、应用包可见性、权限变化和新功能四个方面来谈谈 Android 11 新特性,以帮助开发者更快速、更便捷地上手适配Android新系统。 我们可以在 AndroidMainfest 中添加 <queries>来适配特定的使用场景:(该配置相当于是添加应用白名单) 已知想获取的包名: image.png 2. 为了提升SDK的稳定性、兼容性,个推也对Android 11 的新特性进行了深入研究,并即将针对旗下产品推出全新的适配方案,以满足开发者不同的使用场景。

    2.2K10编辑于 2021-12-24
  • 来自专栏liukaili_666888999

    iOS11、iPhone X、Xcode9 适配

    一、单纯升级iOS11后造成的变化 1. 升级后,发现某个拥有tableView的界面错乱,组间距和contentInset错乱,因为iOS11中 UIViewController 的 automaticallyAdjustsScrollViewInsets heightForFooterInSection:(NSInteger)section; // 这样的原理是因为之前只是实现了高度的代理方法,却没有实现View的代理方法,iOS10及以前这么写是没问题的,iOS11 如果使用了Masonry 进行布局,就要适配safeArea ([UIDevice currentDevice].systemVersion.floatValue >= 11.0) { make.edges.equalTo (self.view.safeAreaInsets); } else { make.edges.equalTo(self.view); } iOS 11适配之跳转App Store评论 在iOS

    71820发布于 2019-07-02
  • Chronos:语言模型架构适配时序预测

    Chronos:适配语言模型架构用于时间序列预测将时间序列数据分词并像语言一样处理,使得模型的零样本性能能够匹配甚至超越专用模型。 然而,开发基于机器学习的准确预测模型传统上需要大量针对数据集的调整和模型定制。在刚刚发布到arXiv的一篇论文中,提出了Chronos,一个基于语言模型架构的预训练时间序列模型家族。 与大型语言模型或视觉语言模型一样,Chronos是一个基础模型,它从大型数据集中学习如何生成适用于广泛任务的通用表示。 中间:标记被输入到语言模型中,该模型使用交叉熵损失进行训练。右侧:在推理过程中,标记从模型中自回归采样,并映射回数值。尽管其架构简单,Chronos却异常准确。 从业者无需为每个特定应用训练单独的模型,而是可以直接使用现成的Chronos模型立即进行准确预测,从而降低计算成本并更容易采用先进的预测技术。

    15110编辑于 2026-04-06
  • 来自专栏腾讯Bugly的专栏

    你可能需要为你的 APP 适配 iOS 11

    导语:iOS 11 为整个生态系统的 UI 元素带来了一种更加大胆、动态的新风格。 本文介绍iOS11中在UI方面做了哪些更新,有些更新可以为用户提供更加完美的体验,但也有的可能会给目前的APP带来异常bug 前言 前几天发现在做的APP在 iOS11 系统上动画有异常,在其他系统的设备上都是正常的 查了下资料发现原因是 iOS11 中默认开启了Self-Sizing,在WWDC 2017 session204 Updating Your App for iOS 11 中有介绍,因此研究了下这个session Self-Sizing在iOS11下是默认开启的,Headers, footers, and cells都默认开启Self-Sizing,所有estimated 高度默认值从iOS11之前的 0 改变为 总结 大概介绍了iOS 11的UI方面的一些更新,大部分内容都用代码测试过了,有些更新确实是很实用,可以适配下iOS 11,有的更新可能会给现有APP造成bug,所以学习下这些内容还是很有必要的。

    2.6K60发布于 2018-03-23
  • 来自专栏Android 开发者

    隐私策略更新 | Android 11 应用兼容性适配

    其中很多优化将当前安全策略的最佳实践应用于最近的 Android 发行版本中(它们并不仅仅针对 Android 11)。 只要做到这点,您的 Content Provider 就已经可以兼容 Android 11 了! 从 Android 10 开始,平台引入了细粒度的位置模型,区分了前台和后台位置访问。大多数位置场景仅需要前台访问,比如当用户在操作 Activity 的时候。 这样可以为应用增加系统可见性,同时在 Android 11 中也是必须配置的属性。更多信息请访问:Android 11 中的前台服务。 以上内容能够帮助大家更快更新适配最新的 API ,并设计出对隐私更友好的应用。更多资源请参阅: Android 11 中的改进 隐私设置最佳实践

    2.1K10发布于 2020-10-16
  • 来自专栏移动开发专栏

    Android 11适配指南之系统相机拍照、打开相册

    何为适配适配就是当我们的开发环境、运行环境等发生变化的时候,程序依然能稳健运行。 而适配中最难为程序员的就是Android了,除了开发环境、运行环境等因素之外,因为Android开源的原因,还要适配各大厂商。。 而适配条件之多,经常让Android程序员为之头疼。 来看看相机、相册相关的适配历程: Android 6 权限适配 Android 7 文件适配 Android 10/11 存储适配 ok,接下来以一个更换头像的小例子来讲解一下。 适配二: intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri) android 11以后强制分区存储,外部资源无法访问,所以添加一个输出保存位置photoUri Android 11开发手册 《Android 11 开发者手册》 参考 官方相机文档 官方权限文档 官方存储文档

    4.4K30编辑于 2022-06-10
  • 来自专栏ClearSeve

    C++11内存模型

    最近看了极客时间——《现代C++实战三十讲》中的内存模型与Atomic一节,感觉对C++的内存模型理解还不是很清楚,看了后面的参考文献以及看了一些好的博客,算是基本了解了,根据参考文献整合一下。 Thread-1: Thread-2: x = 100; // A std::cout << x; // B C++11 C++11的内存模型共有6种,分四类。其中一致性的减弱会伴随着性能的增强。 参考链接 【1】C++11中的内存模型上篇 – 内存模型基础 【2】C++11中的内存模型下篇 – C++11支持的几种内存模型 【3】理解 C++ 的 Memory Order 【4】如何理解 C++ 11 的六种 memory order 【5】《现代C++实战三十讲》中的内存模型与Atomic

    1K30编辑于 2022-02-11
  • 来自专栏WeTest质量开放平台团队的专栏

    你可能需要为你的 APP 适配 iOS11

    本文介绍了iOS11在UI方面做了哪些更新,有些更新可以为用户提供更加完美的体验,但也有的可能会给目前的APP带来异常bug。 查了下资料发现原因是iOS11中默认开启了Self-Sizing,在WWDC 2017 session204 Updating Your App for iOS 11 中有介绍,因此研究了下这个session iOS11下不想使用Self-Sizing的话,可以通过以下方式关闭:(前言中提到的问题也是通过这种方式解决的) iOS11下,如果没有设置estimateRowHeight的值,也没有设置rowHeight 从iOS 11开始有了一些改变,首先是可以给这些按钮添加图片了,然后是如果实现了以下两个iOS 11新增的代理方法,将会取代(tableView: editActionsForRowAtIndexPath 见下图对比: 总结 大概介绍了iOS 11的UI方面的一些更新,大部分内容都用代码测试过了,有些更新确实是很实用,可以适配下iOS 11,有的更新可能会给现有APP造成bug,所以学习下这些内容还是很有必要的

    3.4K00发布于 2017-08-04
  • 来自专栏WeTest质量开放平台团队的专栏

    你可能需要为你的APP适配iOS11

    WeTest 导读  iOS 11 为整个生态系统的 UI 元素带来了一种更加大胆、动态的新风格。 查了下资料发现原因是iOS11中默认开启了Self-Sizing,在WWDC 2017 session204 Updating Your App for iOS 11 中有介绍,因此研究了下这个session 从iOS 11开始有了一些改变,首先是可以给这些按钮添加图片了,然后是如果实现了以下两个iOS 11新增的代理方法,将会取代(tableView: editActionsForRowAtIndexPath 见下图对比: 总结 大概介绍了iOS 11的UI方面的一些更新,大部分内容都用代码测试过了,有些更新确实是很实用,可以适配下iOS 11,有的更新可能会给现有APP造成bug,所以学习下这些内容还是很有必要的 腾讯WeTest提供:兼容适配测试;云端真机调试;安全测试;耗电量测试;服务器压力测试;舆情分析等服务。

    2K20编辑于 2023-05-04
  • 来自专栏全栈程序员必看

    Android 11 应用兼容性适配,看这篇就够了

    如果您需要对已安装的应用进行适配分区存储的数据迁移,则可以在应用更新到目标平台为Android 11版本后仍暂时保留原有的存储模式。 3 适配指导 执行以下操作来确认行为变更是否已对应用生效: 1 将targetSdkVersion指向Android 11 2 确保已经打开RESTRICT_STORAGE_ACCESS_FRAMEWORK 3 适配指导 (1)Target Android 11 使用自定义的UI界面向用户展示申请ACCESS_BACKGROUND_LOCATION权限原因和过程。 2 兼容性影响 如果您的APP需要使用Mac地址作为设备的标识,无论您的Target SDK是否设置为R,只要运行在Android 11上,您就需要进行适配11 版本发布时间线: https://developer.android.google.cn/preview/overview 应用适配重要时间点: 2020.6 Beta1 最终API,开放Google

    15.3K42编辑于 2022-09-14
  • 来自专栏LINUX阅码场

    深入理解C11C++11内存模型

    个人认为,内存模型表达为“内存顺序模型”可能更加贴切一点。 2011年发布的C11/C++11 ISO Standard为我们带来了memory order的支持, 引用C++11里的一段描述: The memory model means that C++ code C11/C++11使用memory order来描述memory model, 而用来联系memory order的是atomic变量, atomic操作可以用load()和release()语义来描述 C11/C++11内存模型 C/C++11标准中提供了6种memory order,来描述内存模型[6]: enum memory_order { memory_order_relaxed, - Frank Birbacher [ACCU 2017] C++11中的内存模型下篇 - C++11支持的几种内存模型 memory ordering, Gavin's blog c++11 内存模型解读

    2.9K30发布于 2020-06-04
领券