排序
Binder Java 层初始化
本文内容大量涉及 JNI 编程基础,如果不太熟悉可以提前阅读JNI 编程上手指南 1. Framework 层的 JNI 函数封装 Framework 对常用的 JNI 函数做了封装: namespace android { //查找对应Java类 st...
预热 – CPU 一文解决你所有疑问
本文是个意外,就像有时候忘了那啥一样,纯属意外,大家看个热闹,就当个预热吧,打算写这部分的,内容太多了,看资料看的头疼 本文源于一个 JY 对于 volatile 可见性的疑问,下面是我的作答: ...
Android Binder 驱动情景分析之服务获取与使用过程
本文系统源码版本: AOSP 分支:android-10.0.0_r41 Kernel 分支:android-goldfish-4.14-gchips 本文依托于Binder 程序示例之 C 语言篇中介绍的应用层示例程序来对驱动的实现做情景化分析。 服...
Flutter 仿京东商品详情底部操作栏
前言 不知道大家有没有留意京东 App的商品详情页,在底部有5个操作按钮,分成了3组,然后每一组占了1/3的宽度。这种布局,简单直接的方法是写死每一组宽度为屏幕宽度的1/3。能用,但是不太优雅...
安卓游戏发行-打包 65535 方法数超?来个自动分多 dex
作者 大家好,我叫小嘉; 本人20年本科毕业于广东工业大学,于2020年6月加入37手游安卓团队;目前工作是国内游戏发行安卓相关开发。 本文目录 一、背景 二、分析及解决 1、multidex 相关介绍 2、...
如何通过Side Effects来使得你使用Compose变的得心应手?
虽然我使用Compose已经有了一段时间的, 但我还是觉得使用起来束手束脚的. 究其原因, 大概是coding时的思路还没有完全转换过来, 还没有沉浸在'Compose is Function'之中. 和我们熟悉的View不同, ...
安卓热修系列-Shadow-Demo篇
背景 热修思想篇 热修思想Demo篇 (本章讲解) 热修实战篇 简介 上一篇文章《安卓热修篇-Shadow思想篇-插桩式插件化》主要介绍了些理论相关知识; 本篇主要是结合理论知识输出对应的demo源码,...
我的朋友之管理数据类型的小程序的思路
苦恼的朋友 最近,我的朋友非常没有精神,经常闷闷不乐,我感觉他的状态很不好,于是关切他到底怎么了,然后他就和我说了他遇到的困惑 他:今年年初开始,我一直在学习编程,眼看着现在已经6月...
Android 文件上传(包括大文件上传)
1.简介: android 文件上传可以分为两类:一个是小文件,直接上传文件;一个是大文件,这个需要分块上传。Okhttp+Retrofit实现文件上传。 2. 需要的依赖和权限: implementation 'com.squareup.re...
安卓知识点-应届生扫盲安卓WebView
作者 大家好,我叫Jack冯; 本人20年硕士毕业于广东工业大学,于2020年6月加入37手游安卓团队; 目前主要负责海外游戏发行安卓相关开发。 背景 最近在接触活动相关需求,其中涉及到一个安卓的We...
Java小技巧:利用局部函数来隐藏和保护函数
有过一些开发经验的开发者应该都知道:尽量用局部变量,尽可能避免用全局变量。过于暴露的变量可能被滥用而导致安全问题,对于代码维护也造成一些麻烦(得仔细检查该变量是不是被很多地方用到,...
[持续更新]细数那些Compose新手容易犯的错误
笔者作为一个日常Jetpack Compose开发者,对Compose的理解也在逐渐加深中,最近回顾当初学习和实践的过程中,犯了不少错误和踩了很多坑,本篇文章作为小总结分享给大家,同时文章会持续更新,也...
给Android工程师的Flutter入门手册(三)
前言 这是笔者作为一个Android工程师入门Flutter的学习笔记,笔者不想通过一种循规蹈矩的方式来学习:先学Dart语言,然后学习Flutter的基本使用,再到实践应用这样的步骤。这样的方式有点无趣且...
android 蓝牙Bluetooth Low Energy (BLE) Mode模式的实践(三)
首先我们来回顾一下 Bluetooth Low Energy (BLE) Mode(低功耗蓝牙模式) 是 Android 操作系统中支持低功耗蓝牙设备连接和通信的一种模式。它专门设计用于连接和交互低功耗设备,如智能手环、智...
Android进阶宝典 — 从源码角度看Android如何完成动态权限申请
伙伴们应该都了解,在Android6.0之后,对于部分权限,例如Camera、读写存储权限等,都需要用户授权才可以使用,除非你的应用为系统应用,否则这些“危险权限”将不会自动授予,那么为什么Google...
安卓-Gradle浅谈
作者 大家好,我叫Jack冯; 本人20年硕士毕业于广东工业大学,于2020年6月加入37手游安卓团队;目前主要负责海外游戏发行安卓相关开发。 一、Gradle简介 Gradle是什么,能做什么? Android Stud...
android 蓝牙Classic Bluetooth Mode模式的实践(二)
首先我们来回顾一下Classic Bluetooth Mode(传统蓝牙模式): 是 Android 操作系统中最常见的蓝牙模式之一。它支持传统的蓝牙设备连接和数据传输,包括蓝牙耳机、蓝牙键盘、蓝牙音箱、蓝牙打印...
ASM Core Api学习系列1:Class的使用
asm是一款字节码操作框架,许多在java代码中难以实现的功能,借助字节码修改技术能够轻松实现,比如app中进行隐私接口调用检测,如果在java代码中进行hook不仅实现困难,其通用性也差,而在编译...
一个app到底会创建多少个Application对象
问题背景 最近跟群友讨论一个技术问题: 一个应用开启了多进程,最终到底会创建几个application对象,执行几次onCreate()方法? 有的群友根据自己的想法给出了猜想 甚至有的群友直接咨询起了Cha...
写一篇最好懂的Lifecycle的基本使用和原理分析
想要彻底弄清楚Lifecycle实现对Activity或者Fragment的生命周期方法感知的基本原理,我们可以从以下两个方面去思考: 1、Lifecycle是如何感知到Activity或者Fragment的生命周期方法的? 2、Life...