自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android技术之家

主要分享移动互联网的相关产品和资讯,关注你将学习到更多,在互联网的当下你会赚更多的钱。

  • 博客(922)
  • 收藏
  • 关注

转载 坑爹的shadow -- 总结 与 各种坑

最近公司来了新UX总监, 很喜欢给设计添加浓重的, 而且是好几层的阴影. 这下就苦了我们Android开发了. 因为是Android不支持啊, 巧妇也难为无米之炊啊. (折中方法也不是没有, 就是自己把阴影做个view, 但它的blur这些比较麻烦, 做过Android的都知道这个Blur要用到BlurScript之类, 做起来不容易)作者:snwrking链接:https://juejin....

2023-07-25 08:00:49 173

原创 关于H5应用乱用localStorage引发的血案

本次记录一个关于用H5开发的webAPP 在Android客户端使用webview加载的问题,由于webapp使用localStorage存储了大量的表单信息,导致使用频繁的用户在该目录下存储的数据越来越多直到上限,localStorage的容量上限是5M,达到上限后H5程序就崩溃了,显示白屏,这问题又不容易复现,大多数用户达不到上限,使用是没问题的,出问题的手机又不在身边,经过一天的...

2023-07-22 08:01:28 445

转载 Android热更新实践

作者大家好,我叫小鑫,也可以叫我蜡笔小鑫????;本人17年毕业于中山大学,于2018年7月加入37手游安卓团队,曾经就职于久邦数码担任安卓开发工程师;目前是37手游安卓团队的海外负责人,负责相关业务开发;同时兼顾一些基础建设相关工作。作者:37手游移动客户端团队链接:https://juejin.cn/post/7244947219160711224一、什么是插件化 一个运行的App作为宿主,去加载...

2023-07-20 08:00:44 1055

转载 100行代码搭建一个IO泄露监测框架

大家好,最近由于项目原因,对IO资源泄漏的监测进行了一番调研深入了解,发现IO泄漏监测框架实现成本比较低,效果很显著;同时由于IO监测涉及到反射,还了解到了通过一种巧妙的方式实现Android P以上非公开api的访问。作者:长安皈故里链接:https://juejin.cn/post/7217436082145558585接下来本篇文章首先会带你了解一些前置知识,然后会带领从0到1手把手教你搭...

2023-07-12 08:58:49 129

转载 用Compose又做了几个loading,有你喜欢的吗?

源码:https://github.com/coffeetang/myloading作者:Coffeeee链接:https://juejin.cn/post/7252171495819903036圆弧和圆 这个动效想不出叫啥,就随意叫了个,整个动画过程还是蛮简单的,分两部分,一部分是两个圆弧绕着圆心做圆周运动,速度由快变慢,另一部分是中心有一个空心圆,空心圆的半径在做变长变短的循环运动,所以基本用...

2023-07-10 08:01:16 474

转载 Android录制视频,三种Camera的使用与预览及其简单封装

三种Camera的使用与封装前言 省流:先别慌别跑,本文只是涉及到 Android API 的使用以及封装,还没有涉及到专业音视频领域(PS:说的好像我会似的),大家如果想看哪一种 Camera API 直接点击分类查看即可。代码比较多全文阅读的话大概20分钟。文末附源码。作者:newki链接:https://juejin.cn/post/7252597901762625596正文部分使用到相机大...

2023-07-10 08:01:16 2833

转载 两个Kotlin优化小技巧,你绝对用的上

大家好,本篇文章仍然聊聊kotlin官方做的一些优化工作,主要包括以下三个方面:数据对象data object的支持@Repeatable注解的优化接下来就带大家介绍下上面三个特性。作者:长安皈故里链接:https://juejin.cn/post/7248249730478784569一. 数据对象data object的支持 该特性由kotlin1.7.20插件版本提供,并处于实验阶段。这个...

2023-07-06 08:00:52 216

转载 四个有用的Android开发技巧,又来了

大家好,本篇文章会继续给大家分享一些Android常见的开发技巧,希望能对读者有所帮助。作者:长安皈故里链接:https://juejin.cn/post/7250080519069007933一. 通过堆栈快速定位系统版本 这个地方主要分享大家两个个技巧,通过问题堆栈简快速定位当前系统版本:1. 快速区分当前系统版本是Android10以下,还是Android10及以上;首先Android10...

2023-07-04 08:00:07 191

转载 Activity中的multiprocess="true"??

坑的背景 在下是一个小小的Android研发,前几天有个需求,需要接入Admob广告。我们的App有多个进程。主进程和其中一个子进程都有涉及到广告的逻辑。作者:Mrrr_K链接:https://www.jianshu.com/p/af1426df9ece坑是怎样形成的 在接入Admob,成功获取到广告之后,开始调试展示、落地页,等打点是否正常的时候。发现,展示没问题,但是在子进程获取的广告,点击...

2023-06-29 08:42:46 342

转载 安卓热修系列-插件资源冲突解决方案

作者大家好,我叫小鑫,也可以叫我蜡笔小鑫????;本人17年毕业于中山大学,于2018年7月加入37手游安卓团队,曾经就职于久邦数码担任安卓开发工程师;目前是37手游安卓团队的海外负责人,负责相关业务开发;同时兼顾一些基础建设相关工作。作者:37手游移动客户端团队链接:https://juejin.cn/post/7245084484756111418背景 在做插件化过程中,宿主需要用到插件的资源,涉...

2023-06-29 08:42:46 167

转载 Android更整洁的接入Sonarquebe | initscript 拓展

我们Android工程pipeline阶段需要进行静态扫描或者是资源归属检查之类的gradle任务。这些插件开发同学是不需要感知到。但是由于是用gradle插件实现的,这样就会对build.gradle进行不可避免的侵入,也会不可避免的出现一些条件判断语句。作者:究极逮虾户链接:https://juejin.cn/post/7248534178827780154尤其是sonarquebe这种插件,...

2023-06-26 08:00:21 208

转载 【面试秘籍】《2023年Android中高级最全面试真题答案解析》原题命中率超高

《2023年Android中高级最全面试真题答案解析》丛书在充分研究面试真题的基础上,通过对近五年Android面试真题的科学选编,将其中具有典型性和经典性的面试真题进行深入细致、分门别类的分析,追寻面试真题命题轨迹,捕捉面试真题命题规律,传递面试真题命题最新信息,从而直接有效的指导求职者的面试复习。适用对象实习求职者、秋招求职者、春招求职者、社招求职者等Android岗求职者。覆盖范围本份资料面...

2023-06-26 08:00:21 127

转载 安卓-如何用正确的姿势监听Android屏幕旋转

作者大家好,我叫大圣;本人于2018年5月加入37手游安卓团队,曾经就职于爱拍等互联网公司;目前是37手游安卓团队的国内负责人,主要负责相关业务开发和一些日常业务统筹等。原文链接:https://juejin.cn/post/7245084484756095034背景 关于个人,前段时间由于业务太忙,所以一直没有来得及思考并且沉淀点东西;同时组内一个个都在业务上能有自己的思考和总结,在这样的氛围下...

2023-06-21 08:00:21 461

转载 Android 逆向之脱壳实战篇

大家好,我叫 Jack Darren,目前主要负责国内游戏发行 Android SDK 开发作者:37手游安卓团队链接:https://juejin.cn/post/7245854874196475963写这篇文章的背景 自从上次 Android 逆向入门保姆级教程(https://juejin.cn/post/7216968724938195001) 发布之后,便冲上了掘金 Android 热榜...

2023-06-19 11:23:02 674

转载 Android:自定义View实现签名带笔锋效果

自定义签名工具相信大家都轻车熟路,通过监听屏幕onTouchEvent事件,分别在按下(ACTION_DOWN)、抬起(ACTION_UP)、移动(ACTION_MOVE) 动作中处理触碰点的收集和绘制,很容易就达到了手签笔的效果。其中无非又涉及到线条的撤回、取消、清除、画笔的粗细,也就是对收集的点集合和线集合的增删操作以及画笔颜色宽的的更改。这些功能都在 实现一个自定义有限制区域的图例(角度自识...

2023-06-15 08:01:40 809 1

转载 编译优化跌落神坛

最近在一次技术分享中,有网友问我小公司可以考虑做哪些编译优化?我觉得这个课题也还是挺有必要展开下讲讲的。作者:究极逮虾户链接:https://juejin.cn/post/7243599582944067639编译优化方面其实我个人觉得并不一定是特别高大上的东西,除了一些特别深水区的地方,还是有些东西还是能从细微处进行展开的。今天我们就尝试下拉他下水。组件化 组件化和编译优化有啥关系? 有些人甚...

2023-06-15 08:01:40 234

转载 读懂 Retrofit 原理~通透

什么是 REST ful API? 一句话概括 REST ful API:在我们使用 HTTP 协议做数据传输时应当遵守 HTTP 的规矩,包括请求方法、资源类型、Uri 格式等等..作者:Drew_MyINTYRE链接:https://www.jianshu.com/p/3ec1b6a99612为什么将请求设置为(接口+注解)形式? 迪米特法则:也称之为最小知道原则,即模块之间尽量减少不必要的依...

2023-06-14 08:00:05 272

转载 匿名内部类为什么泄漏,Lambda为什么不泄漏

作者:麦客奥德彪链接:https://juejin.cn/post/7244002037192081468在Android开发中,内存泄露发生的场景其实主要就两点,一是数据过大的问题,而是调用与被调用生命周期不一致问题,对于对象生命周期不一致导致的泄漏问题占90%,最常见的也不好分析的当属匿名内部类的内存泄漏,在文章《# 内存泄漏大集结:安卓开发者不可错过的性能优化技巧》 中我大概进行了总结,最...

2023-06-14 08:00:05 161

转载 基于seccomp的Android通用svc hook方案

写在前面 众所周知,目前各大APP的安全模块几乎都会使用自实现的libc函数,如open,read等函数,通过自实现svc方式来实现系统调用。因此我们如果想要hook系统调用,只能通过扫描厂商自实现的代码段,定位svc指令所在地址,再通过inline hook方式来进行hook操作,但是这种方式需要涉及内存修改,很容易被检测到内存篡改行为。作者:风铃Cipher链接:https://juejin....

2023-06-12 08:00:53 678

转载 谷歌 Android 14 大屏幕设备新增大量物理键盘快捷键

谷歌此前面向 Pixel 手机推出了 Android 14 Beta 2,具有改进的屏幕录制和分屏模式等新功能。现在事实证明,该平台还有另一项重要功能。原文链接:https://www.51cto.com/article/755495.html5 月 23 日消息,在发布 Pixel Fold 折叠屏之后,谷歌似乎想强调对大屏幕设备(例如折叠设备和平板电脑)的优化支持。谷歌此前面向 Pixel 手...

2023-06-12 08:00:53 198

转载 TextureView清除摄像头最后一帧画面的原理探究

最近协助一个摄像头相关的项目遇到了一个有意思的问题,这里记录一下。作者:嘉伟咯链接:https://www.jianshu.com/p/a8e5c73f50a3原问题大概是使用TextureView预览摄像头,关闭摄像头之后画面会残留最后一帧,需要把他清除。我一开始使用的方式是获取Surface的Canvas去将整个画布画上黑色来实现清除画面:Canvas canvas = mPreviewSur...

2023-06-10 08:11:07 1272

转载 Gradle深入解析 - Task原理(Graph篇)

你是否对gradle如何处理task间的依赖感到好奇,创建task的方式有很多种,建立依赖的方式也很多,gradle是如何确定最终task的执行顺序的,下面我们就来探究一下作者:近地小行星链接:https://juejin.cn/post/7241492186919239717先用一张图来展示task相关的概念Creation Task的创建先来张图帮助理解task的创建主要可以分为2种方式cre...

2023-06-09 08:00:08 601

转载 Gradle深入解析 - Task原理(并行篇)

上一篇文章讲了Task Graph的处理,在Task的顺序确定之后,真正被执行前,还涉及到Task的并行调度问题,我们知道gradle是有并行机制的,没有依赖关系的Task可以并行执行,以减少构建耗时除了线程的并行外,gradle甚至提供了进程级别的并行下面我们来探究一下gradle是如何保障并行的安全的作者:近地小行星链接:https://juejin.cn/post/724149218691...

2023-06-09 08:00:08 502

转载 ASM从入门到精通

概述作者:marsxingzhi111链接:https://juejin.cn/post/7239923199608864826是什么ASM是一个字节码操作框架,针对ASM搞清楚如下两个问题:ASM处理的对象是字节码ASM处理字节码的方式:分解、修改、重组维基百科定义:The ASM library is a project of the OW2 Consortium. It provides a...

2023-06-08 08:00:45 506

转载 安卓与串口通信-数据分包的处理

前言 本文是安卓串口通信的第 5 篇文章。本来这篇文章不在计划内,但是最近在项目中遇到了这个问题,正好借此机会写一篇文章,在加深自己理解的同时也让大伙对串口通信时接收数据可能会出现分包的情况有所了解。其实关于串口通信会可能会出现分包早有耳闻,但是我自己实际使用时一直没有遇到过,或者准确的说,虽然遇到过,但是并没有特意的去处理:分包?不就是传过来的数据不完整嘛,那我把这个数据丢了,等一个完整的数据不...

2023-06-05 08:01:32 846

转载 Android包体积优化方案-动态资源管理系统

动态资源管理系统是货拉拉目前使用的用于管理离线so、动画资源、字体文件的组件,对于减小包体积起着重要作用。具体使用方法参考开源代码中介绍https://github.com/HuolalaTech/hll-dynamic-res-plugin作者:货拉拉技术链接:https://juejin.cn/post/7238627611265613882前言 随着公司业务的扩展,货拉拉用户端apk包的体积...

2023-06-02 09:08:24 412

转载 抖音数据采集Frida进阶:脱壳、自动化、高频问题

https://blog.51cto.com/u_15101562/26224101 Frida用于脱壳 安全工程师在拿到应用评测的任务之后,第一件事情是抓到他的收包发包,第二件事情应该就是拿到它的apk,打开看看里面是什么内容,如果不幸它加了壳,可能打开就是这样的场景,见下图,什么内容都看不到,这时候就要首先对它进行脱壳。壳的种类非常多,根据其种类不同,使用的技术也不同,这里稍微简单分个类:一代...

2023-06-01 08:40:20 2908

转载 劝学:Android 14 Framework 引入了哪些“新”技术栈

2023 年 Google I/O 已于 2023 年 5 月 10 日 拉开帷幕,Android 14 Beta 版本近期也已经释放到 Google partners,本文主要分析 Google 在 Android 14 框架代码中引入了哪些新的技术栈,而对于新功能和 API Change,则并不在本文的讨论范围之内。作者:Mr_万能胶链接:https://juejin.cn/post/7231...

2023-05-29 08:00:52 397

转载 Gradle的生命周期

1、Gradle生命周期 Gradle的生命周期也是一个非常重要的概念,当你了解它之后,就会明白很多事,也能在生命周期的各个阶段做一些切面处理的「黑科技」。作者:yechaoa链接:https://juejin.cn/post/71706847690835558771.1、三个阶段Gradle分三个阶段评估和运行构建,分别是 Initialization (初始化)、Configuration ...

2023-05-23 08:00:08 818

转载 一文搞懂Gradle的依赖管理和版本决议

作者:yechaoa链接:https://juejin.cn/post/72155797932611175011、前言依赖是我们在开发中最常用的配置,通过声明依赖项来引入项目所需技术,从而实现相关功能。但是可能很多人都遇到过这种场景,编译运行后新增的接口或类找不到,又或者只是升级了一下某个Library,编译就提示找不到类或接口。这类问题在开发中是比较常见的,多数属于依赖版本冲突导致的,而在大型项...

2023-05-20 08:00:38 1433

转载 Android TextView中插入图片

一、前言 在开发中经常会遇到文字插入小图标,就像下面“图1”这种,上榜和预售是两个小图片,然后因为文字需要换行,不能用ImageView+TextView去实现,我们就只能用一个TextView,在里面加入图片图1二、具体实现 具体代码如下、需要注意的是CenterImageSpan类,这个是自定义的,如果用原生的ImageSpan,图片是不能和文字居中的,要么偏上,要么偏下。private fu...

2023-05-18 08:00:26 1179

原创 Android-推荐一个与H5交互的库(JsBridge)

导入项目 这个开源库在 Java 和 JavaScript 之间架起了一座桥梁,它提供了从js调用java代码和从java调用js代码的安全便捷的方式。repositories { // ... maven { url "https://jitpack.io" }}dependencies { implementation 'com.github.lzyzsd:js...

2023-05-18 08:00:26 342

转载 Android高斯模糊(毛玻璃效果)蒙层库

ShapeBlurView ShapeBlurView库是一个高斯模糊(毛玻璃效果)蒙层库。Like iOS UIVisualEffectView不知大家做需求的时候是否有这样的效果要求:需求示例大家熟悉的Android常用图片加载库,比如Glide 可以对图片进行毛玻璃效果的加载(实现不展开说了)但是都是对整个要加载的图片进行高斯模糊效果,对应局部这种比较难处理,这个库就能实现这样的效果。当然,...

2023-05-16 08:35:14 3344

转载 如何利用 Kotlin 特性封装 DataStore

DylanCai的博客地址:https://juejin.cn/user/4195392100243000Jetpack DataStore是一种数据存储解决方案,由于使用了 Kotlin 协程或者 RxJava 以异步、一致的事务方式存储数据,用法相较于其它存储方案 (SharedPreferences、MMKV) 会更加特别,所以目前网上都没有什么比较好的 DataStore 封装。个人了解...

2023-05-16 08:35:14 329

转载 Android v1、v2、v3签名详解

什么是Android签名了解 HTTPS 通信的同学都知道,在消息通信时,必须至少解决两个问题:一是确保消息来源的真实性,二是确保消息不会被第三方篡改。同理,在安装 apk 时,同样也需要确保 apk 来源的真实性,以及 apk 没有被第三方篡改。为了解决这一问题,Android官方要求开发者对 apk 进行签名,而签名就是对apk进行加密的过程。要了解如何实现签名,需要了解两个基本概念:消息摘要...

2023-05-15 08:38:56 1366

转载 Android-推荐一个沉浸式状态栏开源库

自从android4.4开始,android手机状态栏再也不是一成黑的时代,之前叫做变色龙,miui6发布会把他叫做沉浸式,之后大家就自然而然的接受了沉浸式这个名称,其实实际应该叫做Translucent Bar,即为透明状态栏。  沉浸式实现原理其实是使整个activity布局延伸到整个屏幕,然后使状态栏变成透明色,有些手机会有导航栏,同样也可以把导航栏变成透明色,这样会使一些app更加美观。作...

2023-05-12 08:00:19 919

转载 新能源汽车的三十年黄金赛道,Android程序员认准车载就对了!

前言中汽协预计,2023年中国 汽车市场总销量为2760万辆,同比增长3%。其中,国内乘用车累计销量预计为2380万辆,同比增长1.3%;商用车累计销量预计为380万辆,同比增长15%;新能源汽车累计销量预计为900万辆,同比增长35%。2023年汽车市场发展的有利因素1、宏观经济适度恢复。2、宏观政策支持汽车消费。稳增长、扩大内需、地方补贴政策等带动底层消费复苏,推动汽车消费。3、疫情防控放开...

2023-05-09 08:00:18 146

转载 Android使用ASM修改函数

目录 参考文章Android 编译插桩(一):ASMhttps://github.com/yxhuangCH/CSLearn/blob/master/android/Android%20%E7%BC%96%E8%AF%91%E6%8F%92%E6%A1%A9%EF%BC%88%E4%B8%80%EF%BC%89%EF%BC%9A%20ASM.mdAndroid 编译插桩(二):Gradle Tra...

2023-05-08 08:48:36 238

转载 Kotlin安卓称王?教你用Java调用Kotlin高级特性!(建议收藏

作者:newki链接:https://juejin.cn/post/714712698016759809虽然 Kotlin 推出很多年了,但是在国内的普及度并没有成压倒性优势,还是有很多新老项目使用Java语言开发的。(Java永不为奴 ????????)如果项目中其他小伙伴使用的Kotlin,而我只会Java,那我怎么调用他Kotlin的方法?其实Kotlin早给我们做好了兼容,很多特性我们都可以使用Ja...

2023-05-06 08:00:27 1600

转载 图像缩放的艺术,揭秘图像放大且保持清晰度的技术

麦客奥德彪的博客地址:https://juejin.cn/user/2365804752418232图像缩放是数字图像处理中常用的技术之一。随着数字媒体的普及,图像缩放算法变得越来越重要。本文将探讨图像缩放的原理,着重介绍两种常用的插值算法——最近邻插值和双线性插值,并提供对应的代码实现。我们将解释这些算法的工作原理,以及如何选择最适合您应用场景的算法。开发中可能非专业的开发人员外,其他人不会对其...

2023-05-04 08:59:29 1229

空空如也

空空如也

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

TA关注的人

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