Android Native内存泄漏检测方案详解
本文将分三个部分阐述如何实现 Android Native 内存泄漏监控,包括代理实现的三种方案(Inline Hook、PLT/GOT Hook、LD_PRELOAD)及其优缺点,以及如何检测Native内存泄露和获取Android Native堆栈的方法。本文将提供一套比较全面的解决思路,帮助大家更好地检测 Android Native 内存泄漏问题。
本文将分三个部分阐述如何实现 Android Native 内存泄漏监控,包括代理实现的三种方案(Inline Hook、PLT/GOT Hook、LD_PRELOAD)及其优缺点,以及如何检测Native内存泄露和获取Android Native堆栈的方法。本文将提供一套比较全面的解决思路,帮助大家更好地检测 Android Native 内存泄漏问题。
本文旨在介绍钉钉 Android 团队死循环检测工具建设的思路和典型案例的修复历程。希望通过此次分享,对同样面临类似死循环问题的团队能够有所启发。
frida是android逆向分析最常用的工具之一,其是一种hook框架,可以在不改动目标源码的情况下,动态查看函数运行入参,返回值,注入代码,更改程序逻辑等,使得android逆向人员能够快速掌握一些问题的本质。本文将带大家了解各种frida的使用方法以及其中的一些坑。
AI时代已经来临,在日益增长的算力需求下,GPU已经成为AI世界不可或缺的工具,而移动端高渲染高帧应用也对移动端GPU提出越来越高的要求,本文将以高通的adreno gpu为例对GPU的调频进行介绍。
Compute Shader 是 OpenGL ES(以及 OpenGL )中的一种 Shader 程序类型,用于在GPU上执行通用计算任务。
在这篇文章中,我将介绍关于Android应用程序架构的一些内容。尽管自从早期更稳健的Android架构方法在移动开发中变得流行以来已经说了很多话,但改进和演进的空间总是存在的。
这两天在 B 站刷视频,看到了 ChatGPT 新出的语音对话,非常惊叹。不得不说,OpenAI 不出手则已,一出手则一鸣惊人。那我作为一个 Android 学习者,却也不免想到了一个别的问题:作为新的 App,ChatGPT 的 Android 端是用什么写的呢?
企业微信本地部署版(下文简称为本地版)是从2017年起,脱胎于企业微信的一款产品。本地版的后台服务能独立部署在政府或者大型企业的本地服务器上。在一个已经迭代了7年的大型Android系统中,企业微信本地版不可避免地会暴露出一些遗留系统的特点。本文将探讨我们在实践中采用的一些行之有效的重构案例,以及如何让一个大型软件系统持续保持活力。
图像锐化是一种图像处理技术,其目的是增强图像中的细节和边缘,使图像看起来更加清晰。这一过程通常涉及到突出图像中的高频信息,特别是强调像素之间的灰度变化。
OpenGL 的上下文(OpenGL context)是一个 OpenGL 绘图环境的抽象概念,它包括了所有 OpenGL 状态信息和资源,以便OpenGL能够正确地渲染图形。
大文件的读写,咱还是老老实实用字节码文件存储吧。小文件可以使用 Json,反序列化速度够用,可读性也可以有明显的提升。
这是MediaCodeC系列的第三章,主题是如何使用MediaCodeC将图片集编码为视频文件。在Android多媒体的处理上,MediaCodeC是一套非常有用的API。
Hook 技术又叫做钩子函数,在系统没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。简单来说,就是把系统的程序拉出来变成我们自己执行代码片段。
编译优化是通过编译技术获得性能提升的一类性能优化方法,它具有通用性和可持续性强的优势,一次投入后可长期保持稳定的优化效果,可以有效降低性能优化的成本。
随着用户对自身数据保护意识的加强,让用户自己维护自己的数据也成了独立开发产品时的一个卖点。若只针对少量的文件进行同步,则实现起来比较简单。当针对一个多层级目录同步时,情况就复杂多了。鉴于相关的文章甚少,本文我分享下我的设计思路。
Android中的窗口系统是应用程序用户界面的核心组件之一,它负责管理可视化区域、处理用户输入事件以及与系统UI交互。本文将深入介绍与Android窗口系统相关的重要概念,包括不同类型的窗口、创建窗口、窗口的特性和标志、生命周期以及如何创建自定义窗口。让我们开始吧!
本文作者是蚂蚁集团客户端工程师希德,教会你如何在 Android c++ 项目中应用 c++ core guideline checker,以统一最佳编码风格,提高代码的可读性和可维护性,提升 c++ 代码安全性、运行效率。
本文通过BuildType、Property、Variants三种方式介绍了动态修改VersionCode和VersionName的方法,但是他们的时机却有不同。
SurfaceTexture是离屏渲染和TextureView的核心,内部包含了一个BufferQueue,可以把Surface生成的图像流,转换为纹理,供业务方进一步加工使用。
公司日常开发基于自建的Maven服务器,不对外开放,公司内开发的SDK都传到私服,经过这么多年的迭代已经有上百个包,前段时间有其他公司需要依赖内部某个SDK,而这个SDK有依赖了公司好多SDK,但是公司内网权限无法对外开放,所以无法使用Maven方式对外提供依赖,如果基于AAR方式,对外提供十几个AAR不仅不友好,而且内部也不好维护迭代。
直播白板应用在搜狐视频App直播,配合播主的教学,在白板上展示英语、物理、历史等图片或者手绘文字。更加生动且有趣的进行讲解,并且还可以在助手App使用 PPT 等准备好的教材,让直播内容更加便捷,且素材丰富。助手还提供了大白板和小白板的切换来展示不同白板的效果,更充分和自由的展示白板,也让观众可以学习更多的知识。
钉钉作为亿级企业数字化平台,高效即时沟通是核心能力之一,消息即时触达以及后台功耗一直是 Android 端核心体验,随着业务快速的发展,越来越多的消息信令通过钉钉自有的长连接通道推送到客户端,同时手机续航也是用户和手机厂商关心的核心体验之一。
动态资源管理系统是货拉拉目前使用的用于管理离线so、动画资源、字体文件的组件,对于减小包体积起着重要作用。