Flutter-区分Debug,Release,Profile模式 Flutter-区分Debug,Release,Profile模式
Flutter中如果需要在Debug模式下输出一些信息,或者做一些特殊的逻辑,但是Release模式下又不需要的话,就需要可以判断当前的APK或者ipa是否为debug模式.这里有两种方式可以用来判断: 使用dart.vm.product属
2020-07-18
Flutter-路由跳转 Flutter-路由跳转
前端页面开发中,路由的概念并不陌生,比如Android中经常会封装一些路由框架,通过一个name跳转指定的Acitivity以进行一定程度的解耦. 在Flutter中同样也有路由的概念,但是由于Dart语言比较古老落后,Flutter的路
2020-07-12
Flutter-转场动画(页面跳转动画) Flutter-转场动画(页面跳转动画)
在Android中专场动画比较常见,就是从一个Activity/Fragment跳转到另一个Activity/Fragment之间的过渡状态.Flutter也提供了对转场动画的支持. 路由跳转的一般方式Navigator.of(contex
2020-07-12
Android系统启动流程-桌面程序的启动 Android系统启动流程-桌面程序的启动
在Android启动流程-SystemServer分析中有提到,在SystemServer启动“Other”类型服务的时候,最后阶段会执行ActivityManagerService的systemReady()方法,这里就是启动桌面程序的入
2020-06-29
Android系统启动流程-ART虚拟机的启动 Android系统启动流程-ART虚拟机的启动
启动JVM的通用流程 加载虚拟机实现的动态链接库(Android中是so文件); 一般通过dlopen方法加载so文件. 设置启动参数,并使用JNI_CreateJavaVM(JavaVM**, JNIEnv**, void*)方法创建虚
2020-06-28
Android中的Deep Link与 APP Link Android中的Deep Link与 APP Link
Deep link其实就是一种intent过滤器.可以直接进入APP特定的Activity. 如果APP中存在多个符合要求的Activity,会弹出一个选择框. App link一种特殊的deep link,需要验证网站网址. 用一
2020-06-28
Android系统启动流程-Native方法的注册 Android系统启动流程-Native方法的注册
在使用app_process 创建zygote进程的过程中会执行下面这些操作: 创建ART虚拟机 注册Native方法 找到ZygoteInit,通过反射调用它的main方法进入Java世界 这里说一下注册Native方法的一些细节.
2020-06-28
Android系统启动流程-SystemServer分析 Android系统启动流程-SystemServer分析
app_process64在启动zygote进程的时候,会从zygote进程fork出system_server进程. system_server的入口在SystemServer.java中 在Android启动流程-Zygote分析中已经
2020-06-26
使用VSCode阅读Android源码 使用VSCode阅读Android源码
在VSCode 中 ,打开命令面板进行编辑,可以使用UI页面编辑,也可以直接编辑json文件. 主要就是includePath,把主要的头文件路径都包含进去: { "configurations": [ {
2020-06-25
AOSP构建-Android.bp的理解 AOSP构建-Android.bp的理解
C/C++是一种非常古老的编程语言,在大型项目开发管理过程中,单靠MAKE,CMAKE等工具已经不满足需求了,因此催生出了各种个样的构建工具,比如Google自家的GN,Bazel等,还有CMake,XMake,Vcpkg等.工具虽然多种
2020-06-25
Android系统启动流程-Zygote分析 Android系统启动流程-Zygote分析
zygote是通过app_process或者app_process64命令行程序启动的. 先来看下app_process的流程: app_processint main(int argc, char* const argv[]) {
2020-06-25
Linux查看进程和线程信息 Linux查看进程和线程信息
psps -T -p 查看进程下所有线程信息 top 查看整体线程情况 top -H 查看指定进程的线程运行情况 top -H -p 查看当前活跃的进程 top
2020-06-24
Android启动流程-init进程分析 Android启动流程-init进程分析
基于Android 10 源码分析 之前在Android启动流程分析中已经大致分析了一下Android系统启动的过程,这里回顾一下: 上电,从Boot ROM中执行一段烧录好的代码加载bootloader bootloader执行,引
2020-06-22
TLS-Pinning TLS-Pinning
什么是SSL/TLS Pinning?将服务端提供的TLS/SSL证书内置到移动端开发的APP客户端中,当客户端发起请求时,通过比对内置证书和服务器端证书的内容,以确定这个连接的合法性. 我这里把Pinning翻译成“固定” Pinni
2020-06-21
FFmpeg简介 FFmpeg简介
模块库 avcodec 用于音视频编解码,支持自带的MPEG4,AAC,MJPEG等编码格式,还支持第三方的编解码,比如H.264(AVC,使用X264编解码器),H.265(HEVC,使用X265编解码器) avdevice 多媒体设备
Flutter-自定义闪屏页(SplashScreen) Flutter-自定义闪屏页(SplashScreen)
Splash Screen?对于Android应用来说,Splash Screen最熟悉不过了.比如为了让启动的时候app不现实白屏,或者为了弄个开屏广告用来盈利,都会用到Splash Screen. Flutter中如何自定义Splas
2020-06-19
Android中的ANativeWindow Android中的ANativeWindow
ANativeWindow是什么ANativeWindow是C/C++中定义的一个结构体,等同于Java中的Surface. Android NDK中可以访问到ANativeWindow. ANativeWindow中存放像素信息的结构是:
2020-06-19
linux使用fork方式创建进程 linux使用fork方式创建进程
代码#include <stdio.h> #include <unistd.h> int main() { printf("fork之前\n"); pid_t fpid; fpid = fork();
2020-06-15
2 / 4