自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Android设备风控知识_安卓检测设备风控

在设备风控这个领域,从最初简单的设备指纹、存储ID到本地文件这种简单方法,到后来出现的采集很多ID参数云端识别,再到现在的基于设备的非标识性参数进行关联分析的方案,黑产和风控的对抗是一步步不断进化和不断迭代的过程。非标识类参数就是除了上述类型以外的,不具有唯一性或者标识性的设备参数。基于以上理论大家应该就能很好的理解该方法的原理,其实无非就是尽可能的采集更多的参数,在云端生成设备指纹的时候把该设备指纹的数据存储起来,在下一次遇到没有标识性数据的时候,则采用对比非标识性数据的重合度的。

2024-09-22 14:51:07 571

原创 C++ 布隆过滤器原理及实现_c++布隆过滤器的原理(1)

布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。例如我们要我找在40亿个数据中查找某字符串是否存在,我们也是第一想到的是通过遍历一个一个去比对,但是数据庞大,遍历消耗很多的时间和空间的资源。但是我们可以通过一位图+哈希来解决这个问题。在常数时间内判断该字符串是否存在。位图+哈希,我们称为布隆过滤器。

2024-09-22 13:53:38 802

原创 Android系统Launcher启动流程_android 开机启动launcher日志

设置安全策略 文件位置:/system/core/init/selinux.cpp。

2024-09-22 13:32:22 1522

原创 C++ map和HashMap原理详解_c++ map根据key获取value的原理

上面可以看到Map接口的几个实现方式。简要说明:TreeMap是基于树(红黑树)的实现方式,即添加到一个有序列表,在O(log n)的复杂度内通过key值找到value,优点是空间要求低,但在时间上不如HashMap。C++中Map的实现就是基于这种方式HashMap是基于HashCode的实现方式,在查找上要比TreeMap速度快,添加时也没有任何顺序,但空间复杂度高。C++ unordered_Map就是基于该种方式。

2024-09-22 12:48:30 881

原创 android模拟器Genymotion的使用

选择对于的模拟器,单击“启动”启动。### Genymotion模拟器安装第三方应用在Genymotion模拟器中安装应用也是相当的简单,只需要将应用的Android包下载好,将xxx.apk文件拖到模拟器的界面上即可完成安装_* Genymotion-ARM-翻译用方法*_ 1,将下载好的Genymotion-ARM-Translation.zip拖到Genymotion模拟器界面,进行安装.2,安装好后,重启模拟器即可。默认情况下,在Genymotion模拟器启动的状态下,会导致Android。

2024-09-22 11:44:59 510

原创 android下载!Android基础面试常常死在这几个问题上,值得收藏!_android 批量下载 面试

很多在这方面有能力的人,30岁之前可以频繁跳槽,30岁之后找一个稳定的跟自己投缘的大企业,你为企业带来的价值大于企业给予你的付出,你的职位肯定是稳稳的。而且上升趋势也不错。一般到了35岁,也就昏倒了技术管理岗,无论是在网易、阿里、华为、滴滴、美团这些大企业,还是一些小的互联网企业,这类人都是中坚力量。而我们反过来看看被裁掉的35岁以上的人,职位低、收入低、可替代性强,也就是混了10多年了,你还是在最低端的岗位,那么只能被后来年轻人淘汰。

2024-09-22 03:57:36 419

原创 Android 面试 - 动画

在一定时间间隔内,通过不断改变值并赋值给对象的属性从而实现该对象在该属性上的动画效果。出现的版本:Android 3.0(API 11)后才提供的一种全新动画模式。1.视图动画:补间动画、逐帧动画。平移动画(Translate)旋转动画(rotate)透明度动画(alpha)缩放动画(scale)

2024-09-22 01:19:07 415

原创 Android 客户端性能优化(魅族资深工程师毫无保留奉献)

严苛模式(StrictMode),是Android提供的一种运行时检测机制,用于检测代码运行时的一些不规范的操作,最常见的场景是用于发现主线程的IO操作。3)如果主线程无耗时操作,还存在卡顿,有很大可能是必须在UI线程操作的一些逻辑有问题,比如控件measure、layout耗时过多等,此时可通过Traceview以及systrace来进行分析。2)如果应用接入了数据埋点的sdk,比如百度统计sdk等,这些sdk都会将应用的崩溃信息上报回来,开发者应每天关注这些统计到的崩溃日志,严格控制应用的崩溃率;

2024-09-21 22:44:27 951

原创 Android targetSdkVersion 升级到 26 总结

对于多次请求权限导致多次弹框的问题,我们在 AndPermission 的基础上添加的请求队列,只有上一个权限请求处理完成后,才进行下一次权限请求,这样的话,即使用户一次行为的方法链过程中有很多次请求也不会多次弹框。通过以上对比,我们决定使用 AndPermission 的方案,因为这个对于我们现有 App 的侵入是最少的,改动点比较少,而且支持 Appliction 传入(其实当使用 Application 传入时候,会有问题,后面再说)。以上几点是对于自己业务场景的几点考虑,进行的改造。

2024-09-21 20:09:40 710

原创 Android Glide 缓存机制及源码全解_android glide lru

因为内存缓存使用LRU算法,当你使用Gilde加载并显示第一张图片时,后面又加载了很多图片,同时你的第一张图片还在用。LruCache的核心思想很好理解,就是要维护一个缓存对象列表,其中对象列表的排列方式是按照访问顺序实现的,即一直没访问的对象,将放在队尾,即将被淘汰。LRU是近期最少使用的算法(缓存淘汰算法),它的核心思想是当缓存满时,会优先淘汰那些近期最少使用的缓存对象。Glide 主要将缓存分为两块内存缓存和硬盘缓存,两种缓存的结合,构成了 Glide 缓存机制的核心。咱继续往下走,顺着源码跑。

2024-09-21 17:24:19 515

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除