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

vivo手机上的系统级消息推送平台的架构设计实践

随着Andriod 9.0的到来,基本从系统上堵死了各种活黑科技的活路(详见《Android P正式版即将到来:后台应用活、消息推送的真正噩梦》),各Android厂商的ROOM系统级推送通道也应运而生...其实不会:初步看可能会觉得它们作为中心存储,但因为我们采用分布式缓存,中心存储的数据,根据一定的策略缓存到各个业务节点,充分利用服务器资源,提升系统性能、吞吐量。...当然不会,我们会将这些消息存储到本地缓存、并且打散存储到Redis,之所以需要打散存储主要是为了避免后续出现存储热点问题。14.5 熔断降级推送平台,一些突发事件、热点新闻会给系统带来较大的突发流量。...以下的双进程守护活实践[2] Android6.0及以上的活实践(进程防杀篇)》[3] 为何基于TCP协议的移动端IM仍然需要心跳活机制?...[4] Android版微信后台活实战分享(进程活篇)[5] 实现Android版微信的智能心跳机制[6] Android P正式版即将到来:后台应用活、消息推送的真正噩梦[7] 融云安卓端IM产品的网络链路活技术实践

1.4K20

Delphi XE5中的新增内容

X 上内置搜索过滤可用于 TListView 在Android和iOS 上滑动屏幕就可以删除 在Android和iOS上共享工作表支持 FM 平台性能优化 针对AndroidDelphi RTL...通过FireDAC 企业数据库连接、DataSnap n层中间件、以及通过MBaas提供者访问基于云端的RESTful web服务,迅速连接您的应用到内部部署或云端中的企业数据库和服务。...XE3 Windows 8支持 通过Metropolis UI,Windows现代化的外观融入到您的应用中 OS X Mountain Lion和 Retina 显示支持 可视化的 LiveBindings...XE3 Windows 8支持 通过Metropolis UI,Windows现代化的外观融入到您的应用中 OS X Mountain Lion和 Retina 显示支持 可视化的 LiveBindings...了解更多 > 视频:Delphi XE5中的新增内容 浏览可以开发 Android应用的 Delphi XE5的一些新特性。

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

Android 文件管理】分区存储 ( MediaStore 文件操作 )

低版本中不能使用分区存储 API 操作文件 , 【错误记录】Android 低版本使用分区存储错误 ( IllegalArgumentException:no path was provided when...下的 Images 内部类 , 负责 Pictures 下的文件操作 ; package android.provider; public final class MediaStore {...; } } } 一个 文本文件 , 只能存储在 Download 和 Documents 目录下 , Download 目录可以存放任何类型的文件 , Documents 目录只能存储文本文件...; 首先通过 MediaStore 获取 Files 内部类对象 , 调用该内部类的 getContentUri(“external”) , 即可获取在 【Android 文件管理】分区存储 ( 分区存储机制.../training/data-storage/app-specific#kotlin 保存到共享的存储空间 : https://developer.android.google.cn/training

2.4K20

Android面试题大全

空进程 Android线程间通信有哪几种方式 Devik进程和Linux进程的区别 进程活(不死进程) 当前Android进程活手段主要分为 黑、白、灰 三种 黑色活 白色活 灰色Android...四大组件之一的内容提供器,它主要的作用就是程序的内部的数据和外部进行共享,为数据提供外部访问接口,被访问的数据主要以数据库的形式存在,而且还可以选择共享哪一部分的数据。...区别在于调用父类构造器时,DexClassLoader多传了一个optimizedDirectory参数,这个目录必须是内部存储路径,用来缓存系统创建的Dex文件。...而PathClassLoader该参数为null,只能加载内部存储目录的Dex文件。所以我们可以用DexClassLoader去加载外部的apk文件,这也是很多插件化技术的基础。...的数据存储 使用SharedPreferences存储数据 它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式数据存储到设备中。

1.3K50

喜马拉雅亿级用户量的离线消息推送系统架构设计实践

《应用活终极总结(一):Android6.0以下的双进程守护活实践》 《应用活终极总结(二):Android6.0及以上的活实践(进程防杀篇)》 《应用活终极总结(三):Android6.0...及以上的活实践(被杀复活篇)》 《Android P正式版即将到来:后台应用活、消息推送的真正噩梦》 《全面盘点当前Android后台活方案的真实运行效果(截止2019年前)》 《2020年了...,Android后台活还有戏吗?...《史上最强Android活思路:深入剖析腾讯TIM的进程永生技术》 《Android进程永生技术终极揭密:进程被杀底层原理、APP应对被杀技巧》 《Android活从入门到放弃:乖乖引导用户加白名单吧...当时队列用的是rabbitmq,为此改造了 spring-rabbit 支持根据msytype消息路由到特定节点。

1.3K20

喜马拉雅亿级用户量的离线消息推送系统架构设计实践

《应用活终极总结(一):Android6.0以下的双进程守护活实践》 《应用活终极总结(二):Android6.0及以上的活实践(进程防杀篇)》 《应用活终极总结(三):Android6.0及以上的活实践...(被杀复活篇)》 《Android P正式版即将到来:后台应用活、消息推送的真正噩梦》 《全面盘点当前Android后台活方案的真实运行效果(截止2019年前)》 《2020年了,Android后台活还有戏吗...《史上最强Android活思路:深入剖析腾讯TIM的进程永生技术》 《Android进程永生技术终极揭密:进程被杀底层原理、APP应对被杀技巧》 《Android活从入门到放弃:乖乖引导用户加白名单吧...我们以token来标识一个设备, 在不同的场景下token的含义是不一样的,公司内部一般用uid或者deviceId标识一个设备,对于集成商、不同的厂商也有自己对设备的唯一“编号”,所以公司内部的推送服务...当时队列用的是rabbitmq,为此改造了 spring-rabbit 支持根据msytype消息路由到特定节点。

1K10

融云技术分享:融云安卓端IM产品的网络链路活技术实践

《微信团队原创分享:Android版微信后台活实战分享(进程活篇)》 《微信团队原创分享:Android版微信后台活实战分享(网络活篇)》 《移动端IM实践:实现Android版微信的智能心跳机制...综上所述:链路活涉及到消息链路和推送链路两条链路的活策略。基于这两条链路使用场景的不同,活策略上除了心跳机制是相同的,其它活策略各有不同。下面逐一解读。...(三):Android6.0及以上的活实践(被杀复活篇)》 《Android进程活详解:一篇文章解决你的所有疑问》 《Android P正式版即将到来:后台应用活、消息推送的真正噩梦》 《全面盘点当前...导航服务器会下发应用对应的配置信息,其中包括连接服务器的地址列表; 2)客户端从第一个服务器地址尝试连接,并启动超时机制,如果连接失败或没有及时收到服务响应, 则继续尝试连接下一个直到成功连接,将成功连接的地址保存到本地...鉴于Android系统对后台进程管控越来越严,活“黑科技”已经不怎么灵了: 《Android P正式版即将到来:后台应用活、消息推送的真正噩梦》 《全面盘点当前Android后台活方案的真实运行效果

2.9K40

疑似双尾蝎APT组织近期针对巴勒斯坦地区的攻击活动分析

概述 双尾蝎(奇安信内部跟踪编号:APT-Q-63)是一个长期针对中东地区的高级威胁组织,其最早于2017年被披露。...与去年我们披露的样本一样,样本1中的Timer1会引导其他控件执行任务,Time1执行后首先会从资源中获取诱饵文档数据保存到%tmp%目录下,然后将其打开以迷惑受害者。...执行创建的副本,展示原指定后缀文件内容,而样本再次得以执行。...其中Delphi 语言编写的样本较以往样本无较大变化,而VC版本则增加了新的持久化方式,以及丰富了指令内容。...样本成功执行后展示的诱饵文档如下: 总结 双尾蝎组织是常年活跃在中东地区APT团伙,其具有Windows和Android双平台攻击武器,且仅Windows平台恶意代码就丰富多变,具有多种语言编译的后门

2.5K10

2.0与大数据安全

2019年5月13日等2.0正式发布,这是继2008年发布等1.0十余年来继网络安全法实施后的一次重大升级。等2.0在等1.0的基础上,更加注重全方位主动防御、安全可信、动态感知和全面审计。...对企业内部的外包人员所使用的企业内部的系统、数据的访问权限,也是有一些保密协议以及技术安全的管理要求,明确提出了外部人员离开现场应该清除所有的访问权限和使用权限。...防御数据传防御传统的网络安全有个最大差别是原来的网络是有边界的,但数据它相对是个无边界的状态,我们要去遵从一个数据从生存到销毁的自然生命周期,它覆盖了创建存储传输交换处理和销毁这六个生命的自然节点。...在不同的生命周期上,我们通过不同的技术手手段去做我们的安全措施。...存储过程中我们会强调的数据落盘的存储会通过偷TD加密或者动态加密的方式去帮助用户在存储和传输过程中做到安全的措施。

2.6K20

微信团队分享:iOS版微信的高性能通用key-value组件技术实践

1、前言 本文要分享的是iOS版微信内部正在推广和使用的一个高性能通用key-value 组件的技术实践过程,该组件在微信内部被命名为MMKV(以下简称MMKV)。...要做到通用的话,考虑 value 通过 protobuf 协议序列化成统一的内存块(buffer),然后就可以这些 KV 对象序列化到内存中。 ?...如果不同业务需要区别存储,也可以单独创建自己的实例: ?...目前 MMKV 已经在鹅厂内部开源(http://git.code.oa.com/wechat-team/mmkv),反馈比较好的话会考虑对外开源。...版微信后台活实战分享(进程活篇)》  《微信团队原创分享:Android版微信后台活实战分享(网络活篇)》  《Android版微信从300KB到30MB的技术演进(PPT讲稿) [附件下载]》

1.7K31

Android面试大纲(集合)

匿名内部类造成的内存泄漏:由于非静态内部类持有匿名外部类的引用,必须将内部类设置为static Handler造成的内存泄漏:使用static的Handler内部类,同时在实现内部类中持有Context...,可以通过AsyncTask内部持有外部Activity的弱引用同时改为静态内部类或在onDestroy()中执行AsyncTask.cancel()进行修复 18 内存管理面试题 1、Android内存管理机制...,且性能比Serializeble高,Parcelable不能使用在要将数据存储在硬盘上的情况 4、避免在UI线程中做繁重的操作 21 架构模式面试题 Android基础——框架模式MVC在安卓中的实践...前台进程 2、Android进程回收策略 Low memory Killer(定时执行):通过一些比较复杂的评分机制,对进程进行打分,然后分数高的进程判定为bad进程,杀死并释放内存 OOM_ODJ...:判别进程的优先级 3、Android活方案 利用系统广播拉活 利用系统Service机制拉活 利用Native进程拉活 利用JobScheduler机制拉活 利用账号同步机制拉活 25 Lint面试题

1.1K20

Android核心技术Intent和数据存储

图片 数据存储技术 在Android中与三种存储的方式: SharedPreferences存储 File 文件存储 SQLite数据库存储 ContentProvider实现数据共享 1.SharedPreferences...图片 Android设置修改密码,设置密,和找回密码: 学习目标 掌握修改密码功能的开发,和实现用户密码的修改; 掌握设置密的功能开发,通过密我们可以找回用户的密码,来保证用户的安全。...图片 File文件存储 Java中提供了一套IO流体系,Android的写入和读取文件方式一样,提供FileOutputStream类的openFileOutput和提供FileInputStream类的...这位内部存储,那么外部存储是?外部存储它使用了Environment类的getExternalStorageDirectory()方法进行读写数据。 ?...在Android提供了SQLiteDatabase创建对象,运用不用写数据库语法封装好的API类。分别用query(),insert(),delete(),update()表示。

92730

京东京麦商家开放平台的消息推送架构演进之路

针对Android系统无法很好的进行离线通知的推送的问题(俗称Android网络、进程活黑科技这些东西,详见:《应用活终极总结(一):Android6.0以下的双进程守护活实践》、《应用活终极总结...(二):Android6.0及以上的活实践(进程防杀篇)》、《应用活终极总结(三):Android6.0及以上的活实践(被杀复活篇)》),我们开发了Android推送的开源包,对接了华为、小米、魅族三大厂商...从上图可以看到系统中的处理方式是,分别订阅JMQ的同一个topic实现将消息日志分别存储在ES和HBase,存ES保证了我可以在消息管理后台对所有消息进行清晰透明化的追踪查询,存HBase是为了可以数据长久的保存并且进一步的分析...: 《应用活终极总结(一):Android6.0以下的双进程守护活实践》 《应用活终极总结(二):Android6.0及以上的活实践(进程防杀篇)》 《应用活终极总结(三):Android6.0...《微信团队原创分享:Android版微信后台活实战分享(进程活篇)》 《微信团队原创分享:Android版微信后台活实战分享(网络活篇)》 《移动端IM实践:实现Android版微信的智能心跳机制

2K10

对标腾讯T3的Android高级工程师面试大纲及时雨来了

项目构建面试题 ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程活面试题...面试题 1、什么是OOM 2、OOM相关概念 3、解决OOM Bitmap面试题 1、recycle 2、LruCache原理 3、计算inSampleSize 4、缩略图 5、保存Bitmap 6、保存到...5、冷启动优化 其他优化面试题 1、Android不用静态变量存储数据 2、SharePreference安全问题 3、内存对象序列化 4、避免在UI线程中做繁重的操作 架构模式面试题 Android...article/details/53037430 插件化面试题 1、插件化解决的问题 2、类加载器(Java中字节码添加到虚拟机中) 热更新面试题 1、热更新主要流程 2、热更新主流框架 3、热更新的原理 进程活面试题...1、进程的优先级 2、Android进程回收策略 3、Android活方案 Lint面试题 1、什么是Android Lint 2、Lint工作流程 3、配置Lint Kotlin面试题 1、什么是

1.1K72

Android常见面试题

每个android dalvik应用程序都被赋予了一个独立的linux PID(app_*)) 7、进程活(不死进程) 此处延伸:进程的优先级是什么 当前业界的Android进程活手段主要分为**...当应用创建的时候,就会在主线程中创建handler对象, 我们通过要传送的消息保存到Message中,handler通过调用sendMessage方法Message发送到MessageQueue中,Looper...解决:Handler声明为静态内部类,就不会持有外部类SecondActivity的引用,其生命周期就和外部类无关, 如果Handler里面需要context的话,可以通过弱引用方式引用外部类 二、单例模式引起的内存泄漏...解决:把内部类修改为静态的就可以避免内存泄漏了 四、非静态匿名内部类引起的内存泄漏。 解决:匿名内部类设置为静态的。 五、注册/反注册未成对使用引起的内存泄漏。...JS去调用Android的代码 通过WebView的addJavascriptInterface()进行对象映射 ,该方法使用简单,仅Android对象和JS对象映射即可,但是存在比较大的漏洞。

1.2K10

Android进程永生技术终极揭秘:进程被杀底层原理、APP应对被杀技巧

▲ 这台手机,应该能勾起很多老Android程序员的回忆 譬如说在 Android 5.0 以前,App 内部通过 native 方式 fork 出来的进程是不受系统管控的,系统在杀 App 进程的时候...比如以下这几篇中介绍的Android活方法: 《应用活终极总结(一):Android6.0以下的双进程守护活实践》 《应用活终极总结(二):Android6.0及以上的活实践(进程防杀篇)》...《应用活终极总结(三):Android6.0及以上的活实践(被杀复活篇)》 《微信团队原创分享:Android版微信后台活实战分享(进程活篇)》 同时,系统的软弱导致了 Xposed 框架、阻止运行...Android 8.0 进一步加强了应用后台执行限制:一旦应用进入已缓存状态时,如果没有活动的组件,系统解除应用具有的所有唤醒锁。...而这篇《2020年了,Android后台活还有戏吗?看我如何优雅的实现!》,则直接放弃了曾今的活的黑科技,转而顺应Android系统的变化。

3.8K11

2020年了,Android后台活还有戏吗?看我如何优雅的实现!

自从Android P(即Android 8.0)出现以后,Android已经从系统层面后台活这条路给堵死了(详见:《Android P正式版即将到来:后台应用活、消息推送的真正噩梦》),曾今那些层出不穷的活黑科技能用的也越来越少了...总之,Android应用的后台活在某些场景下,还是有持续的需求。除了之前那些耳熟能详的活黑科技以外,在Android 9.0(甚至Android 10)时代,我们还有哪些活方法可以用?...在 GitHub 上有多个开源项目,多次在团队内部进行技术分享。是 Android 和 Flutter 官方中文文档译者。...以下的双进程守护活实践》 《应用活终极总结(二):Android6.0及以上的活实践(进程防杀篇)》 《应用活终极总结(三):Android6.0及以上的活实践(被杀复活篇)》 4、Android...(二):Android6.0及以上的活实践(进程防杀篇)》、《应用活终极总结(三):Android6.0及以上的活实践(被杀复活篇)》)。

5.2K21

一方法解决微信视频号视频怎么下载,视频号视频怎么保存

微信视频号视频怎么下载,视频号视频怎么保存到手机。...图片 微信视频号视频怎么下载,视频号视频怎么保存到手机,步骤如下(安卓手机): 打开手机中的文件管理,打开内部存储 往下拉找到 Android 系统目录点击进入 找到 data 文件夹点击进入 找到腾讯文件夹...文件夹进入后,这里就是浏览过的视频号中的视频缓存 如需预览,可点击文件后,在弹出框中选择打开为视频,即可查看视频内容 返回到第九步(Video 文件夹),长按选中需要下载的文件名称,点击底部的更多,选择重命名,文件名称后边添加...选中已添加 .mp4 后缀的视频文件,选择底部的 移动 选项,选择其它位置,会跳转到第一步 内部存储 页面 在内部存储页面找到 DCIM 相册文件夹,选中带有vide字样的文件夹,点击底部的移动 现在打开手机相册...以上就是微信视频号视频怎么下载,视频号视频怎么保存到手机的操作步骤,总结如下: 文件夹–内部存储Android系统目录–data–com.tencent.mm–cache–一长串数字字母组合文件夹–finder–video

15.6K50

Android应用活全攻略:30个实用技巧助你突破后台限制

Android应用活是一个老生常谈的话题,本文尽可能收集市面上的活手段,希望能对你有所帮助。...在Android系统中,活(保持应用进程一直存活)就是为了让应用在后台持续运行,来实现某些特定的功能,如实时消息推送、定位服务等。...然而,由于Android系统为了节省资源和保护用户隐私,通常会限制后台应用的运行。因此,我们需要采取一些策略来实现活。以下是30个常见的Android活手段,帮助你突破后台限制。 1....JobScheduler是Android 5.0引入的一种任务调度机制,可以在满足特定条件下执行任务。通过创建一个Job,设置触发条件,然后Job提交给JobScheduler。...当发送一个sticky广播时,系统会将该广播存储在内存中,这样即使应用被杀死,也可以在重新启动时收到广播。

1510

腾讯技术分享:Android版手机QQ的缓存监控与优化实践

实现图片缓存监控过程中我们主要遇到以下几个难点: 1)内存快照文件大,约300M左右: 内存文件过大会导致上传流量和存储成本比较大,而且上传耗时长。...可优化为缓存key,bitmap对象存到全局图片专用缓存中; 5)图片静态引用: 定义静态的Bitmap或者Drawable对象,进程周期内,对象所引用的资源都无法释放。...各厂商对系统API内部修改无法预期; 2)强行清理,可能导致功能异常: 系统内部代码逻辑可能会受到影响,而且影响无法预期。手Q当前使用ClassLoader查找资源的业务功能会受到影响。...3)针对耗时问题,内部封装实现缓存功能。并针对业务访问增加堆栈上报,及时推动业务改用其他方式获取资源。 内存清理方案,通过内部兼容性测试,发布后外网无crash问题,通过不断迭代,兼容率达到100%。...版微信后台活实战分享(进程活篇)》  《微信团队原创分享:Android版微信后台活实战分享(网络活篇)》  《Android版微信从300KB到30MB的技术演进(PPT讲稿) [附件下载

1.6K20
领券