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

壹二APP开发实践回顾总结出40条精要

;最后采用是腾讯x5内核; 5、Https 证书支持(浏览器获取证书方式); 6、Glide v3.7 加载Gif 时候,缓存策略不能使用Result,不然显示不出来; 7、一个类内部类又调用其他内部类...所以最后你是不是发现混淆和混淆怎么都一样了?! 在抄 zxing 时候不小心引入了。...24、使用 elevation 之后,这个布局上层控件将变得不可见。不知道这个是不是一个Bug。反正被坑了。...()' is inaccessible to class 'com.google.firebase.iid.zzg',说到底,这个还是集成版本太旧问题,如何解决呢?...另外Activity onResume()回调是所有状态 Fragment ,所以要在里面检测是否是可见 Fragment 。

85940

Firebase Remote Config

,如果在这 10% 用户群体,新功能稳定性令您满意,那么您可以将比例提高 30%,再到 50%。...以下规则用于确定在某个特定时间点 Remote Config 服务器提取哪个值 如果哪个条件值为 true,则读取对应值 如果多个条件均为 true,则读取 Firebase 控制台显示第一个..._45.png 模板版本管理 检索特定 Remote Config 模板版本 回滚到指定版本 删除指定版本 Snip20230919_46.png Firebase Remote Config 加载策略...控制台信息,如果传入300(5分钟),那么在5分钟之后才可以请求 Firebase 控制台最新信息,5分钟之内都是之前旧信息 - (void)fetchConfig { long expirationDuration...Remote Config REST API 或 Admin SDK,用我们自己后端控制 Remote Config,详情可见 博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://

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

仿触手直播首页切换效果

一进到主页就看上了里面页面切换效果,自己想这种效果用什么控件可以实现呢。闲扯了,直接上图更有意思。 2 效果 ? ?...触手app主页效果 看到这个效果后,第一想到就是RecyclerView貌似可以实现这种效果,但是用RecyclerView自己api还是有很多问题,先不说如何实现吧,看下实现出来效果吧...item在屏幕上面显示,第一个item在屏幕显示,第二个item倒数第二个item在屏幕下面显示。...所以手机上面显示永远是RecyclerView第一个item了,只不过在手指滑动时候,去改变数据源。 ? ?...分析item排列: 这里就是ChuShouManager职责了,它负责把最后一个item放在屏幕上方,第一个item放在屏幕第二个item倒数第二个item放在屏幕下方。

53920

RecyclerView滑动时卡顿怎么办?

大家好,近期刚完成了一个商城类软件,首页就是用recyclerview多布局实现,近期优化让不得不去深入了解一下recycleview这个控件。...1.recyclerviewitem加载顺序 recyclerview 使用大家肯定陌生了,但是每个item加载顺序还是有必要了解一下,知道item显示出来流程。...我们对于滚动过程,卡顿判断可以打开手机开发者选项:GPU呈现模式分析->在屏幕上显示为条形。就可以非常直观看到滑动过程中有没有卡顿了。...,尽量减少滚动过程耗时操作,这样滚动停止时候再加载可见区域布局,因为这个时候是停止状态,即使略微耗时一些用户感知也是比较小,就会给人一种假象。...代码可以看到 主要就是对onScrollStateChanged方法进行监听,然后通知adapter是否加载图片或复杂布局。

3K20

关于RecyclerView你知道不知道都在这了(上)前言目录正文

findItem日志.png 上述四个方法作用方法命名就可以很直观理解了,但有些细节需要注意一下: 两个查找全部可见 item 方法并不是我们正常意义上全部可见,而是指在布局方向上是否已全部可见...简单点说,上面四个方法作用,是以每行或每列为单位来寻找相对应首个(末个)可见或完全可见 item。 为什么要这么做呢?...那么,如果你想说,那干脆将寻找最后一个完全可见 item 改成寻找位于最底部完全可见 item,不就好了。那如果这时需求是要寻找最后一个 item 而不是最底部呢?...官方说了, item 更新分两种,一种是数据需要更新,这类刷新涉及 item 位置变化;而另一种属于结构刷新,就是涉及 item 位置变化。...;另外一种是直接 SCROLL_STATE_DRAGGING SCROLL_STATE_IDLE。

3K60

RecyclerView还能这么玩

RecyclerView 诞生至今,因其具有良好灵活性、可扩展性而深受人们爱好。目前已经被开发者广泛应用到App。...具体如下图 1 和 2 所示: ? 1 ? 2 我们先分析下这需求。 1 和 2 可知,最外面的控件是支持上下滑动。这很有可能是一个列表或者是一个 ScrollView 。...如果中间选项布局超过 10 个怎么办,难道又要重新添加一个 RecyclerView发现自己都回答上这几个问题,所以该方案是行不通。...4)显示样式 在 MianActivity 采用是 4 列网格布局管理局。有人一定会问为什么一定要选择 4 列?就不能 5 列?6 列?...很简单,因为在整个列表,在头部中一行有 4 个控件, 1 个控件占据 1 个span。就以头部数据为标准,这样比较方便计算出后面 item 每个控件占据每行 span 数。 ?

64130

已中招!Android 基础面试常常吊死在这几个问题上……

面试官:给你讲讲吧,你去别的公司面试你,你可以这样回答: OnCreate():这是第一次创建视图时。通常,这是我们创建视图,获取数据等地方。...Standard 是默认,就是在指定启动模式时候用到是这个!其他在指定时候使用! 面试官:你糊弄呐?...应聘者:没有太深入了解… 面试官:序列化是将对象转换为字节流以便将对象存储内存过程,以便可以在以后时间重新创建它,同时仍保留对象原始状态和数据。...RecyclerView显示较长项目列表。假设我们要显示100行项目。一种简单方法是只创建100个视图,每行一个视图,然后将它们全部布局。...这就是为什么 RecyclerView 会利用以下事实:滚动时,新行出现在屏幕上,而旧行消失在屏幕上。代替为每个新行创建新视图,而是通过将新数据绑定旧视图来对其进行回收和重用! 应聘者:学到了!

2K20

Firebase In-App Messaging 应用内消息

iOS、Android、flutter 集成,详情可见 注意: 发送测试消息,为节省能耗,Firebase In-App Messaging 每天仅从服务器检索一次消息。...iOS、Android、flutter 相关处理,详情可见 In-App Messaging 用途 通过 Firebase 控制台可以修改消息样式、定位和推送时间 Firebase In-App Messaging...宣传活动名称:用于宣传活动报告,不会显示在消息 宣传活动说明:用于宣传活动报告,不会显示在消息 可以定义多维度多角度受众群体 应用内消息还支持多语言 Snip20230915_24.png 时间安排...= YES; 自定义 In-App Messaging 消息 In-App Messaging 提供一些消息模板,同时也可以自定义消息模板 向消息添加操作 通过添加操作,您可以使用应用内消息将用户定向某个网站或应用特定界面...使用 Firebase 控制台向消息添加操作 修改卡片、按钮文字、按钮操作、图片等等 Snip20230915_32.png 修改消息外观和风格 iOS、Android、Flutter,详情可见

26110

原生长列表内嵌 Flutter 卡片性能调研

在上图 "#5 at 11" 文本,5 代表这个卡片 ID,对应创建 FlutterView/FlutterEngine 序号,11 代表这个卡片在 RecyclerView 显示位置,从这段文本我们可以很清楚地看到创建...卡片空白帧数 在 Demo 场景RecyclerView 在惯性滚动时,将新的卡片从不可见区域移进可见区域,触发了 TextureView 绘制,而 TextureView Surface...如果仅仅只是两帧空白,考虑卡片本身只是一部分可见,设置卡片 Flutter Widget 背景色跟原生 View 保持一致,或者干脆 Flutter Widget 绘制背景,完全透明(需要使用...相关 Android 渲染流水线帧调度分析,可以参考文章TextureView 血与泪 内存占用分析 为了排除图片解码缓存内存管理干扰,我们专门测试了无和有两种情况,并且增加了开启引擎优化和关闭引擎优化对比...实际操作中会滚动到底部之后再滚动回头部,长列表设置显示 200 张卡片,在这个过程 RecyclerView 一共创建了 9 个 FlutterCard 对象,也就是 9 对 FlutterView/

1.4K20

记一次全民K歌crash定位过程

这是很奇怪一个现象,因为log来看,数据是加载成功了,用户也有在列表中进行滑动、送礼、收听之类互动操作,所以,我们列表一定是可见。...FeedListView,一个正常显示,一个不可见。...通过打开开发者选项“不保留活动”,复现了这样场景,恢复后产生了2个FeedSubFragment,一个正常显示,另一个xml加载布局后没有发起数据请求,于是页面一直是loading默认状态,...状态与数据集产生了不同步情况,往往出现在Adapter列表数据发生了变化而又没有调用notityXXX方法通知RecyclerView情况下。...,没有考虑Fragment恢复情况,导致在正常Fragment下多生成了一个不可见Fragment,之后发布了作品并对其执行了会引起数据变化互动操作,使其layout布局,刷新列表后不可见

2.1K30

Android知识笔记:记录 2 个 “容易误解” Android 知识点

()开始我们常见分发Touch事件 return super.dispatchTouchEvent(event); } 流程 答:为什么要DecorView -> Activity -> PhoneWindow...所以,不能直接把触摸事件送到Activity.dispatchTouchEvent(); 那么,既然触摸事件已经到了Activity.dispatchTouchEvent()中了,为什么直接分发给DecorView...例如我们在RecyclerViewItemonBindViewHolder时,利用一个CountDownTimer去做一个倒计时显示 / 或者是有一个属性动画效果?...在RecyclerView,Item这两个方法分别会在【首次出现】和【完全滑出屏幕】(即在屏幕完全不可见)时回调(在Adapter也可以重写同名方法,用来监听ViewHolder出现和消失)。...当程序员容易,当一个优秀程序员是需要不断学习初级程序员高级程序员,初级架构师资深架构师,或者走向管理,技术经理到技术总监,每个阶段都需要掌握不同能力。

86520

RecyclerView探索之通过ItemDecoration实现StickyHeader效果

ItemDecoration 实现普通 Header ? 上面这张微信通讯录界面,大家可以看到微信按拼音和英文名首字母给账号进行了分组,上面灰色 B 和 C 就是 Header。...这张与上面的那张差不多,但是灰色区域都是通过 ItemDecoration getItemOffsets 方法操纵 outRect 参数撑开。...ItemDecoration 实现 StickyHeader Header StickyHeader 看起来没有改变多少,但开发难度却实实在在提高了很多。...想到了一个关键词:前赴后继。 ? 用一张图片来加深大家印象。大家可以想像一下,一个组所有 ItemView 排队去显示 StickyHeader。有两种情况需要考虑。...Section1 置于 RecyclerView 顶部,它组内 ItemView 由于向上滑动,身下穿过,它 top 值就是 parent.getPaddingTop()。

1.1K10

ViewPager2实现内部Item动态滚动

当然RecyclerView也可以,用一个仿抖音那种 LayoutManager 就行,但是为什么呢,因为涉及到了视频播放,手动去处理一些生命周期和懒加载,总是非常麻烦,而且ViewPager2本身就是基于...然后写完后,相应加载回调是不是得自己再手动定义一个接口去伪造。比如不可见,页面加载,总体相对来说并不是那么容易。 就在以为又可以摸鱼一个ViewPager2就可以搞定之时。...产品:得加一个第一次使用时提示啊,要不然用户都不知道页面可以下滑呢?效果发你了,你看看: 下图为实现好简单样式,大意体会即可。...好家伙,按套路出牌啊,故作深沉,实则稳如老狗( ViewPager2 不是有一个 fakeDragBy() 方法设置偏移量吗),这个有点麻烦,得考虑考虑。...既然有这个方法,那不就很简单吗,伪代码如下: 查看效果如下: 示例 裂开了,为什么会这样,就属性动画里调了一下而已,去看一下源码。

1.5K20

RecyclerView 自定义ItemDecoration入门实现吸顶效果

刚接触RecyclerView,用过才发现RecyclerView没有分割线过后,遂网上搜解决办法才发现自定义一个ItemDecoration只要一条黑线还要写代码,好麻烦,不知道有没像我一样懒得折腾上网搜现成...但是这个并不是获取RecyclerView所有的item个数,而是当前屏幕可见item个数。...设置padding效果是一样,只是在ItemDecoration统一处理比较合适)onDraw分割线有多高,就paddingBottom多少....判断当前屏幕第一个可见item是哪个 把当前屏幕可见item进行对比,如果item内容第一个字相同,则把它们归为一组,用一条分割线显示即可. 先来实现1和2要求,主要代码部分如下: ?...,现在可以把paint2换回paint效果会更直观,上效果了,可以自己去测试.

1.1K10

RecyclerView】 六、RecyclerView.ItemDecoration 条目装饰 ( 简介 | onDraw | onDrawOver | getItemOffsets )

画布上绘制合适装饰, 在该方法绘制任何内容, 都在 item 布局组件绘制之后绘制, 绘制内容会覆盖 item 布局, 显示在 item 布局上层 ; void onDrawOver(@NonNull...* 在该方法绘制任何内容, 都在 item 布局组件绘制之后绘制, 绘制内容会覆盖 item 布局, * 显示在 item 布局上层....的当前状态 ; 函数原型如下 : /** * 检索任何设置给 item 布局条目的偏移量...* 可以用于绘制 item 条目间分割线, 高亮显示, 分组边界等等....* 在该方法绘制任何内容, 都在 item 布局组件绘制之后绘制, 绘制内容会覆盖 item 布局, * 显示在 item 布局上层.

50900

AndroidRecyclerViewitem宽高问题详解

前言 本文主要给大家介绍了关于AndroidRecyclerViewitem宽高问题相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细介绍吧。...在创建viewholder传入View时,如果指定其viewgroup,就会出现宽高只包裹显示内容问题。...假如我view是在adapter创建之前创建,也就是说view是外边传进来,不是在onCreateViewHolder方法创建。这样就无法设置parent。遇到这种情况又要怎么处理呢?...其实你会发现,有时候设置parent,Item宽度也能填充整个父布局,为什么,因为这种情况下item宽度本来就已经填充布局了,也就是说在宽度上已经没有“空气”了,所以再宽上不会被压缩。...,第一个TextView内容就能正常展示中间。

1.4K21

RecyclerView 居然还能实现吸底效果

<h2,就让RecyclerView上方Footer布局显示,否则就不显示。...但它缺点也很明显,需要根据不容业务去计算不同View高度。 一般推荐这种方式去实现,不过它可以当做一个保底方案,毕竟简单粗暴易理解易实现。...另一种方法是,将需要悬停部分也绘制Item,AdapterItem是以组为基本单位,一个Item会包含组所有View,Item内部第一个元素就是需要绘制悬停头部。...分组悬停实现方式二:onDrawOver获取Item可见View,从中获取分组头部View进行复用 这种方法,将需要悬停部分也绘制Item,AdapterItem是一个组所有元素,Item...我们在onDrawOver获取到第一个可见子View,然后根据id里面获取到头部View,接着将这个用canvas将这个View绘制出来即可。 有兴趣同学可以自行实现。

2.9K20

RecyclerView技术栈参考资料:

为什么命名为RecyclerView?...滚出可见区域条目将被回收,并在下一个条目可见时候被复用。 我们可以从下图中得到更直观解释: ? 左边是数据初始化后示例,当向上滚动视图时候,当条目不可见之后将被回收。...右图中红色区域内两条不可见条目,将被放到缓存队列以便新条目可见时进行复用。...由此可见,想要在ListView实现条目的增删动画是一件非常困难事情,但是RecyclerView为我们提供了很好便利。...ItemAnimator作触发于以下三种事件: 某条数据被插入数据集合 数据集合移除某条数据 更改数据集合某条数据 幸运是,在Android默认实现了一个DefaultItemAnimator

1.2K10

FireBase 亲密接触

国内比较出名厂商有友盟、BMob等,国外就 Firebase 名气比较大。 1 Firebase 介绍 FireBase功能众多,我们先来看一下官网给出总结 ?...具体各个功能说明: Analytics:Firebase核心功能,这是一项免费且无限制分析解决方案。单一信息中心查看用户行为和衡量行为特性。...数据存储为 JSON,以毫秒速度跨连接设备同步,当您应用处于离线状态时可以使用该数据。 Storage:直接 Firebase 客户端 SDK 存储和检索用户生成内容,如图片、音频和视频。...安排和发送消息,以便在最适当时间吸引合适用户。 App Indexing:通过在 Google 搜索结果显示相关应用内内容,帮助用户发现和再次使用您应用。...2)将 Firebase 添加到 Android 应用 在新建项目之后,你会在左上角看到你项目名称,新建项目是 Game2048。

15.8K00

骑上心爱小摩托,再挂上AI摄像头,去认识一下全城垃圾!

另外,这样专用车辆还可以检测居民按时间地点要求扔垃圾情况,以进行实时干预。 有了这样想法,Michele Moscaritolo就付诸行动,做了这样一个智能摄像头和垃圾监控系统。...Yolo链接: https://pjreddie.com/darknet/yolo/ 考虑隐私问题,摄像机还嵌入了一项模糊人脸,衣服和人体边缘技术,这样就没有涉及隐私数据被传输到云。...垃圾GPS坐标通过简单gpsd接口usb模块读取,将数据存储在Google Firestore实时数据库,这样本地Google firebase SDK就被用于客户端应用程序开发。...选择数据模型允许我们快速检索检测到垃圾点列表,包括相关GPS坐标、集装箱/袋子/纸板数量、按区域和每小时粒度数据,其对分布式计数器支持还能让我们按小时和区域实时统计信息变得非常容易,不需要执行复杂查询...通过这种方式,我们所有应用程序都可以在检测后几秒钟内显示数据。 谷歌地图目前支持两种不同可视化: 热和标记点。热度可以快速查看区域中垃圾分布情况,而标记点可以检查单个垃圾检测点详细信息。

10.2K30
领券