最佳实践|一文讲解端线程死循环的治理

本文旨在介绍钉钉 Android 团队死循环检测工具建设的思路和典型案例的修复历程。希望通过此次分享,对同样面临类似死循环问题的团队能够有所启发。

frida入门使用介绍

frida是android逆向分析最常用的工具之一,其是一种hook框架,可以在不改动目标源码的情况下,动态查看函数运行入参,返回值,注入代码,更改程序逻辑等,使得android逆向人员能够快速掌握一些问题的本质。本文将带大家了解各种frida的使用方法以及其中的一些坑。

基于devfreq framework的GPU调频

AI时代已经来临,在日益增长的算力需求下,GPU已经成为AI世界不可或缺的工具,而移动端高渲染高帧应用也对移动端GPU提出越来越高的要求,本文将以高通的adreno gpu为例对GPU的调频进行介绍。

OpenGL 计算着色器(Compute Shader )你用过吗?

Compute Shader 是 OpenGL ES(以及 OpenGL )中的一种 Shader 程序类型,用于在GPU上执行通用计算任务。

Android Clear架构最强官方指南Kotlin版

在这篇文章中,我将介绍关于Android应用程序架构的一些内容。尽管自从早期更稳健的Android架构方法在移动开发中变得流行以来已经说了很多话,但改进和演进的空间总是存在的。

Android 逆向:最近大火的 ChatGPT 客户端是如何实现的?

这两天在 B 站刷视频,看到了 ChatGPT 新出的语音对话,非常惊叹。不得不说,OpenAI 不出手则已,一出手则一鸣惊人。那我作为一个 Android 学习者,却也不免想到了一个别的问题:作为新的 App,ChatGPT 的 Android 端是用什么写的呢?

企业微信大型Android系统重构之路

企业微信本地部署版(下文简称为本地版)是从2017年起,脱胎于企业微信的一款产品。本地版的后台服务能独立部署在政府或者大型企业的本地服务器上。在一个已经迭代了7年的大型Android系统中,企业微信本地版不可避免地会暴露出一些遗留系统的特点。本文将探讨我们在实践中采用的一些行之有效的重构案例,以及如何让一个大型软件系统持续保持活力。

OpenGL ES 如何实现图像锐化?

图像锐化是一种图像处理技术,其目的是增强图像中的细节和边缘,使图像看起来更加清晰。这一过程通常涉及到突出图像中的高频信息,特别是强调像素之间的灰度变化。

关于 OpenGL 的渲染上下文

OpenGL 的上下文(OpenGL context)是一个 OpenGL 绘图环境的抽象概念,它包括了所有 OpenGL 状态信息和资源,以便OpenGL能够正确地渲染图形。

当你需要读一个 47M 的 JSON 文件

大文件的读写,咱还是老老实实用字节码文件存储吧。小文件可以使用 Json,反序列化速度够用,可读性也可以有明显的提升。

使用 MediaCodec 将图片集编码为视频

这是MediaCodeC系列的第三章,主题是如何使用MediaCodeC将图片集编码为视频文件。在Android多媒体的处理上,MediaCodeC是一套非常有用的API。

Android 对 so 进行简单 hook

Hook 技术又叫做钩子函数,在系统没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。简单来说,就是把系统的程序拉出来变成我们自己执行代码片段。

编译优化在微信视频号的落地实践

编译优化是通过编译技术获得性能提升的一类性能优化方法,它具有通用性和可持续性强的优势,一次投入后可长期保持稳定的优化效果,可以有效降低性能优化的成本。

基于 Android 的文件同步设计方案

随着用户对自身数据保护意识的加强,让用户自己维护自己的数据也成了独立开发产品时的一个卖点。若只针对少量的文件进行同步,则实现起来比较简单。当针对一个多层级目录同步时,情况就复杂多了。鉴于相关的文章甚少,本文我分享下我的设计思路。

深入理解 Android Window系统

Android中的窗口系统是应用程序用户界面的核心组件之一,它负责管理可视化区域、处理用户输入事件以及与系统UI交互。本文将深入介绍与Android窗口系统相关的重要概念,包括不同类型的窗口、创建窗口、窗口的特性和标志、生命周期以及如何创建自定义窗口。让我们开始吧!

Android c++ core guideline checker 应用

本文作者是蚂蚁集团客户端工程师希德,教会你如何在 Android c++ 项目中应用 c++ core guideline checker,以统一最佳编码风格,提高代码的可读性和可维护性,提升 c++ 代码安全性、运行效率。

动态修改VersionName和VersionCode

本文通过BuildType、Property、Variants三种方式介绍了动态修改VersionCode和VersionName的方法,但是他们的时机却有不同。

Android 图形系统之 SurfaceTexture

SurfaceTexture是离屏渲染和TextureView的核心,内部包含了一个BufferQueue,可以把Surface生成的图像流,转换为纹理,供业务方进一步加工使用。

多个AAR打包成一个AAR

公司日常开发基于自建的Maven服务器,不对外开放,公司内开发的SDK都传到私服,经过这么多年的迭代已经有上百个包,前段时间有其他公司需要依赖内部某个SDK,而这个SDK有依赖了公司好多SDK,但是公司内网权限无法对外开放,所以无法使用Maven方式对外提供依赖,如果基于AAR方式,对外提供十几个AAR不仅不友好,而且内部也不好维护迭代。

OpenGL ES 实验室之 2D 篇 第三弹 の 直播白板

直播白板应用在搜狐视频App直播,配合播主的教学,在白板上展示英语、物理、历史等图片或者手绘文字。更加生动且有趣的进行讲解,并且还可以在助手App使用 PPT 等准备好的教材,让直播内容更加便捷,且素材丰富。助手还提供了大白板和小白板的切换来展示不同白板的效果,更充分和自由的展示白板,也让观众可以学习更多的知识。

钉钉 Android 端功耗优化最佳实践

钉钉作为亿级企业数字化平台,高效即时沟通是核心能力之一,消息即时触达以及后台功耗一直是 Android 端核心体验,随着业务快速的发展,越来越多的消息信令通过钉钉自有的长连接通道推送到客户端,同时手机续航也是用户和手机厂商关心的核心体验之一。

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

动态资源管理系统是货拉拉目前使用的用于管理离线so、动画资源、字体文件的组件,对于减小包体积起着重要作用。

Android 干货分享:插件化换肤原理
Android开机全解析
丝滑~Android自定义树状图控件!
Android Kernel 源码环境
Android自定义LayoutManager实现可滚动的环形菜单!
货拉拉Android稳定性治理实践!
Android实现人物关系图谱,人物影响力图!
百度APP Android包体积优化实践(四)Dex注解优化
Android ION 内存简介
支持点击交互的Lottie-Android篇
百度 Android 直播秒开体验优化
聊聊Android资源加载那些事,Resource的初始化
Android NDK 开发中定位 crash 的几种方法
效果炸了!Android自定义View实现一个炫酷的时钟
Android应用市场64位应用策略!
面经!B站Android面试小记
Android FFmpeg 实现带滤镜的微信小视频录制功能
Android NDK 开发中定位 crash 的几种方法
Android 插件化中资源错乱的解决方案
大麦 Android 选座场景性能优化全解析
Android登录拦截场景,8种实现方式
Android NDK 开发中定位 crash 的几种方法
分享一波 Android 性能优化的总结!
Android 实现抖音传送带特效!
别滥用FileProvider了,Android中FileProvider的各种场景应用!
Android阴影实现的几种方案
一文能读懂车载与Android的关系
深入理解 Android Studio Sync 流程

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8