
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
使用epic hook方式检测thread 的调用栈;进行分类统计哪些sdk或者业务线程多;设置核心线程超时销毁,使用booster优化,尽量使用协程等等

线程创建到启动过程:从Thread.start()-> c++层CreateNativeThread()->JNIEnvExt::Create()创建JniEnv ->c++层pthread_create()—> allocate_thread()分配堆内存->Linux层clone()拷贝新线程-> 反射调用Thread.run()

Android WebView Installed问题,分析其FrameWork层中源码走向,解决问题。
Android 9.0 及其以上不支持WAL模式导致 SQLiteCantOpenDatabaseException SQLITE_CANTOPEN 的java/native层 源码分析定位
处理git 提交换行符 问题

Application will not run on device: INSTALL_CANCELED_BY_USER , DELETE_FAILED_INTERNAL_ERROR ?
使用adb shell 命令查看游戏的线程总数和线程列表

当Android系统服务已经死亡,app进程与之通讯,会抛出DeadSystemException。可能发生在Activity的生命周期,service的生命周期,其他涉及跨进程通讯,处理起来各有不同

通过Byte数组和Bitmap来了解,dalvik java 堆内存、native heap 内存、32位设备3G虚拟内存,手机处理器内存等等。

前言:在开发过程,反编译apk也是常见的事情。 通常,是借鉴某些apk中某项功能的实现思路或者实现技术。查看apk中资源和代码,常见的方式有以下几种:apktool+dex2jar+jdjadx(推举使用)1. 使用apktool反编译apk的资源文件。先准备好apktool,然后选择一个apk,拷贝到apktool同一个文件下,然后运行cmd。。这里以Bro...







