随笔分类 -  android系统

摘要:在android N上使用 .so作为apk的第三方库的时候,会发生java.lang.UnsatisfiedLinkError: 09-27 12:17:01.280 D/ListenSoundModel( 3635): Load libxxxjni 09-27 12:17:01.292 D/An 阅读全文
posted @ 2018-08-02 19:55 鸭子船长 阅读(11938) 评论(0) 推荐(0) 编辑
摘要:一、引言 关于Android Build系统,这个话题很早就打算整理下,迟迟没有下笔,决定跟大家分享下。先看下面几条指令,相信编译过Android源码的人都再熟悉不过的。 source setenv.sh lunch make -j12 source setenv.sh lunch make -j1 阅读全文
posted @ 2018-04-10 16:14 鸭子船长 阅读(209) 评论(0) 推荐(0) 编辑
摘要:一、内核空间 1.1 页 页(page)是内核的内存管理基本单位。 ==> linux/mm_types.h 1 struct page { 2 page_flags_t flags; 页标志符 3 atomic_t _count; 页引用计数 4 atomic_t _mapcount; 页映射计数 阅读全文
posted @ 2018-04-10 16:07 鸭子船长 阅读(207) 评论(0) 推荐(0) 编辑
摘要:前段时间,把市面上手机GPU OpenCL支持情况做了一个总结。总结如下: 目前,手机 GPU 市面有四个公司产品:Qualcomm, Imagination Technologies,ARM, Vivante,分别对应的产品如下: (所有表格均是按照产品上市时间先后排列) 表1 Qualcomm 阅读全文
posted @ 2017-11-13 15:18 鸭子船长 阅读(4069) 评论(0) 推荐(0) 编辑
摘要:对于ARM Mali GPU,目前是支持OpenCL1.1,所以我们可以利用OpenCL来加速我们的计算。 一直以来,对于Mali GPU的OpenCL编程,一直没有环境来测试。好不容易弄到一个华为Mate7,却因为华为没有提供OpenCL driver(小道消息,华为下半年开始将会有OpenCL 阅读全文
posted @ 2017-11-13 15:08 鸭子船长 阅读(3965) 评论(0) 推荐(0) 编辑
摘要:参考以下三篇完成Android SDK的安装 https://www.digitalocean.com/community/tutorials/how-to-build-android-apps-with-jenkins http://stackoverflow.com/questions/4681 阅读全文
posted @ 2017-10-27 16:02 鸭子船长 阅读(6132) 评论(0) 推荐(0) 编辑
摘要:基于Android 6.0的源码剖析, 分析android Activity启动流程,相关源码: frameworks/base/services/core/java/com/android/server/am/ - ActivityManagerService.java - ActivitySta 阅读全文
posted @ 2017-05-20 23:03 鸭子船长 阅读(9817) 评论(0) 推荐(0) 编辑
摘要:一、概括 系统启动架构图: 上图在Android系统-开篇中有讲解,是从Android系统启动的角度来分析,本文是从进程/线程的视角来分析该问题。 1.1 父进程 在所有进程中,以父进程的姿态存在的进程(即图中的浅红色项),如下: kthreadd进程: 是所有内核进程的父进程 init进程 : 是 阅读全文
posted @ 2017-05-20 21:23 鸭子船长 阅读(893) 评论(0) 推荐(0) 编辑
摘要:/android/libcore/libart/src/main/java/java/lang/Thread.java /art/runtime/native/java_lang_Thread.cc /art/runtime/native/java_lang_Object.cc /art/runti 阅读全文
posted @ 2017-05-19 16:15 鸭子船长 阅读(3186) 评论(0) 推荐(0) 编辑
摘要:一.概述 1.1 引言 话说Android开源系统拥有着App不计其数,百家争鸣,都想在这“大争之世”寻得系统存活的一席之地。然则系统资源有限,如若都割据为王,再强劲的CPU也会忙不过来,再庞大的内存终会消耗殆尽,再大容量的电池续航终会昙花一现。 面对芸芸众生,无尽变数,系统以不变应万变,一招绝杀神 阅读全文
posted @ 2017-05-19 16:01 鸭子船长 阅读(4485) 评论(0) 推荐(0) 编辑
摘要:1 启动persistent应用 在Android系统中,有一种永久性应用。它们对应的AndroidManifest.xml文件里,会将persistent属性设为true,比如: 在系统启动之时,AMS的systemReady()会加载所有persistent为true的应用。 其中的STOCK_ 阅读全文
posted @ 2017-05-19 15:59 鸭子船长 阅读(404) 评论(0) 推荐(0) 编辑
摘要:一. 概述 Android系统将进程做得很友好的封装,对于上层app开发者来说进程几乎是透明的. 了解Android的朋友,一定知道Android四大组件,但对于进程可能会相对较陌生. 一个进程里面可以跑多个app(通过share uid的方式), 一个app也可以跑在多个进程里(通过配置Andro 阅读全文
posted @ 2017-05-19 15:36 鸭子船长 阅读(2674) 评论(0) 推荐(1) 编辑
摘要:大多数情况下,app都是单进程架构,对于多进程架构的app一般是通过在AndroidManifest.xml中android:process属性来实现的。 当android:process属性值以”:”开头,则代表该进程是私有的,只有该app可以使用,其他应用无法访问; 当android:proce 阅读全文
posted @ 2017-05-19 15:19 鸭子船长 阅读(1049) 评论(0) 推荐(0) 编辑
摘要:基于Android 6.0的源码剖析, 分析kill进程的实现原理,以及讲讲系统调用(syscall)过程,涉及源码: /framework/base/core/java/android/os/Process.java /framework/base/core/jni/android_util_Pr 阅读全文
posted @ 2017-05-18 22:22 鸭子船长 阅读(5192) 评论(0) 推荐(0) 编辑
摘要:一. 概述 当发生ANR(Application Not Response,对于Java进程可通过kill -3向目标进程发送信号SIGNAL_QUIT, 输出相应的traces信息保存到目录/data/anr/traces.txt;而对于Native进程可通过 debuggerd输出traces信 阅读全文
posted @ 2017-05-18 16:43 鸭子船长 阅读(2758) 评论(0) 推荐(0) 编辑
摘要:一、概述 Android 6.0系统采用的art虚拟机,所有的Java进程都运行在art之上,当应用发生ANR(Application Not Response,其中最终的一个环节便是向目标进程发送信号SIGNAL_QUIT, 传统的linux则是终止程序并输出core;而对于Android进程来说 阅读全文
posted @ 2017-05-18 16:36 鸭子船长 阅读(1109) 评论(0) 推荐(0) 编辑
摘要:一. 概述 当input事件处理得慢就会触发ANR,那ANR内部原理是什么,哪些场景会产生ANR呢。 “工欲善其事必先利其器”,为了理解input ANR原理,前面几篇文章疏通了整个input框架的处理流程,都是为了这篇文章而做铺垫。在正式开始分析ANR触发原理以及触发场景之前,先来回顾一下inpu 阅读全文
posted @ 2017-05-18 15:18 鸭子船长 阅读(9885) 评论(0) 推荐(1) 编辑
摘要:一、概述 ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。一般地,这时往往会弹出一个提示框,告知用户当前xxx未响应,用户可选择继续等待或 阅读全文
posted @ 2017-05-18 15:05 鸭子船长 阅读(946) 评论(0) 推荐(1) 编辑
摘要:/frameworks/base/core/java/com/android/internal/os/ - ZygoteInit.java - ZygoteConnection.java - RuntimeInit.java - Zygote.java /frameworks/base/core/j 阅读全文
posted @ 2017-05-17 15:56 鸭子船长 阅读(4045) 评论(0) 推荐(0) 编辑
摘要:转自:http://gityuan.com/2015/12/26/handler-message-framework/ 相关源码 framework/base/core/java/andorid/os/Handler.java framework/base/core/java/andorid/os/ 阅读全文
posted @ 2017-05-16 16:52 鸭子船长 阅读(834) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示