随笔博文

  • Bitmap这个“内存刺客”你也要小心~

    1写在前面「雪糕刺客」是最近被网友们玩坏了的梗,指的是那些以平平无奇的外表混迹于众多平价雪糕之中的贵价雪糕。由于没有明确标明价格,通常要等到结账的时候才会发现,犹如一个潜藏于普通人群中的刺客般,伺机对那些大意的顾客们的钱包刺上一剑,因此得名。而在Android中,也有这么一个「内存刺客」,其作为我们日常开发中经常接触的对象之一,却常常因为使用方式的不当,时不时地就会给我们有限的内存来上一个背刺,甚

    2022-12-27 michael007js 69

  • 新来个技术总监要我做一个 IP 属地功能~

    目录背景HttpServletRequest 获取 IPIp2regionIp2region V2.0 特性ip2region xdb java 查询客户端实现IDEA 中做个测试背景细心的朋友应该会发现,最近,继新浪微博之后,头条、腾讯、抖音、知乎、快手、小红书等各大平台陆陆续续都上线了“网络用户 IP 地址显示功能”,境外用户显示的是国家,国内的用户显示的省份,而且此项显示无法关闭,归属地强制

    2022-12-27 michael007js 72

  • Android 13 适配指南

    ❝「是的,你没看错,现在就要带你适配 Android13」。❞2022 的Google I/O 发布了 Android 13 beta 2 和 Android 13 Beta 1 国内厂商的设备支持列表,虽然按照惯例, Android 13 应该是年末才发布正式版,但是相信有的开发者已经收到了平台的 Android13 的适配要求,所以本篇也是结合 Oppo 的 Android 13 应用兼容性适

    2022-12-26 michael007js 1053

  • 根据手机壁纸自动切换App主题,它真的来了!

    1前言曾经产品经理的奇思妙想,现在终于可以实现了…2效果效果中,原本是红色壁纸对应的红色App主题,在改成绿色壁纸之后,App主题也相应的变成绿色了。模拟器演示略微小卡…3介绍这个效果主要是使用了Material You中的动态颜色功能。3.1、什么是Material YouMaterial You也称Material3或M3,是第三代Material Design设计语言。Material Yo

    2022-12-26 michael007js 117

  • Android 系统 Bar 沉浸式完美兼容方案

    引言自 Android 5.0 版本,Android 带来了沉浸式系统 bar(状态栏和导航栏),Android 的视觉效果进一步提高,各大 app 厂商也在大多数场景上使用沉浸式效果。但由于 Android 碎片化比较严重,每个版本的系统 bar 效果可能会有所差异,导致开发者往往需要进行兼容适配。为了简化系统 bar 沉浸式的使用,以及统一机型、版本差异所造成的效果差异,本文将介绍系统 bar

    2022-12-26 michael007js 620

  • 拓扑排序 So Easy! 带你从0手撸一个依赖任务加载框架

    /前言/我收回标题上的话,从0手撸一个框架一点也不轻松,需要考虑的地方比较多,一些实现和细节值得商榷,对我这种菜鸡也是一个比较大的挑战,有不足的地方欢迎大佬们提供意见,最后标题是某个大佬常用的风格,我看到等于是我的,没错。/依赖任务加载/平时我们常常会使用各种第三方框架,如mmkv、glide、leakcanary等优秀的第三方库,大多数第三方库需要初始化后才能使用,因此会出现下面的代码:priv

    2022-12-26 michael007js 46

  • Android单元测试研究与实践

    Android单元测试介绍处于高速迭代开发中的Android项目往往需要除黑盒测试外更加可靠的质量保障,这正是单元测试的用武之地。单元测试周期性对项目进行函数级别的测试,在良好的覆盖率下,能够持续维护代码逻辑,从而支持项目从容应对快速的版本更新。单元测试是参与项目开发的工程师在项目代码之外建立的白盒测试工程,用于执行项目中的目标函数并验证其状态或者结果,其中,单元指的是测试的最小模块,通常指函数。

    2022-12-26 michael007js 103

  • 听说这样学JNI,效果不是一般的好

    /JNI定义/JNI全称:Java Native Interface。它是Java本身的一种特性,用来在Java里面调用C/C++代码的。看下面的一个程序:public static void main(String[] args) throws Exception { PrintStream ps = new PrintStream(new FileOutputStream("wor

    2022-12-26 michael007js 57

首页
关于博主
我的博客
搜索