11 火山石

尚未进行身份认证

我要认证

工程师,算法、框架、SDK、中间件,精通Android

等级
TA的排名 4k+

adb shell下使用命令行删除android系统中指定文件和文件夹

记录一下命令:C:\Users\Administrator\Downloads\cmder λ adb root C:\Users\Administrator\Downloads\cmder ...

2019-08-13 10:39:26

Add Flutter to existing apps

Dan Field edited this pageon 20 Jun·70 revisionsIntroMaking it easy to add Flutter to an existing app is work in progress, tracked by theAdd-to-App project.This page documents the current st...

2019-07-26 20:07:01

Flutter笔记(二)

一、Android 集成 Flutter 实现流程闲鱼、头条 在 Android 集成 Flutter 模块都有自己的实现方案:闲鱼团队方案&头条团队方案我们以官方方案方式为主。一、Android 集成 Flutter 实现流程闲鱼、头条 在 Android 集成 Flutter 模块都有自己的实现方案:闲鱼团队方案&头条团队方案我们以官方方案方式为主。...

2019-06-14 11:41:12

Flutter开发笔记(一)

最近在做项目,想集成Flutter来开发部分组件。所以,开始了研究Flutter混合开发之路。欢迎加入 Dart 阵营。跳过所有有关安装和运行 Flutter 应用程序的部分,直接进行操作,如果您不确定 Flutter 是什么,并且有许多问题,请阅读关于 Flutter 的演进之路。Dart如果你认为 Kotlin 是 Java 的替代,等到你看到 Dart 后,你会发现它...

2019-06-14 11:37:12

Android:远程服务Service(含AIDL & IPC讲解)

1. 远程服务与本地服务的区别远程服务与本地服务最大的区别是:远程Service与调用者不在同一个进程里(即远程Service是运行在另外一个进程);而本地服务则是与调用者运行在同一个进程里 二者区别的详细区别如下图:按运行地点分类2. 使用场景多个应用程序共享同一个后台服务(远程服务)即一个远程Service与多个应用程序的组件(四大组件)进行跨进程通信...

2019-05-02 14:36:41

Binder实用指南(二) - 实战篇

本章的内容主要说明如何在JavaFramework层和Native层自定义Client-Server组件,并且使用Binder进行通信。一、Native Binder源码目录结构:alps/frameworks/native/cmds/NativeBinderDemo/ 1 2 3 4 5 6 ...

2019-04-06 17:22:09

Binder实用指南(一) - 理解篇

这是关于Android Binder机制的一篇文章,Binder是Android里面非常重要的组成,也是最难理解的一块知识点,学习Binder最好的方法是深入源码阅读,因为Binder相关的知识错综复杂,一般初学者也很容易迷失在源码的汪洋里,本文旨在梳理Binder的架构和流程,并且试着以实用的角度来看待Binder。一、为什么需要Binder机制?Android系统中,每个应用程序是...

2019-04-06 17:17:32

Android JNI回调的三种方法

第一种方法在当前函数(同一个线程)里面回调,直接用findClass或者GetObjectClass,进行回调(国内各大博客介绍的普遍方法):java 层代码:/** * Created by jiong103 on 2017/3/23. */public class Sdk { private Sdk() { } //单例 private ...

2018-12-25 21:41:02

AOP编程思想

   AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的...

2018-12-07 20:35:33

Android 开源项目及库汇总

UIAwesome-MaterialDesign – MaterialDesignCenter改名为Awesome-MaterialDesign,优化了布局,新增了不少库。 awesome-android-ui – ui库,非常多的ui及特效。 ChipsLibrary – 在Android EditText中实现打Tag功能。 bitmapMesh – 拉窗帘效果。 Observab...

2018-11-26 21:44:55

Android调试工具

1. 查看当前堆栈1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系2) 方法: new Exception(“print trace”).printStackTrace();2. MethodTracing1) 功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等2) 方法:a) 在程序代码中加入追踪开关...

2018-11-26 21:32:18

内存耗用分析:VSS/RSS/PSS/USS

VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)一般来说内存占用大小有如下规律...

2018-11-26 21:24:23

Android内存优化

        避免因不正确使用内存 & 缺乏管理,从而出现 内存泄露(ML)、内存溢出(OOM)、内存空间占用过大 等问题,最终导致应用程序崩溃(Crash)示意图下面,将针对回收 进程、对象 、变量的内存分配 & 回收进行详细讲解2、 针对进程的内存策略a. 内存分配策略由 ActivityManagerService 集中管理 所有进程的内存分配b. ...

2018-11-21 10:20:53

线程和线程池

在Android中,几乎完全采用了Java中的线程机制。线程是最小的调度单位,在很多情况下为了使APP更加流程地运行,我们不可能将很多事情都放在主线程上执行,这样会造成严重卡顿(ANR),那么这些事情应该交给子线程去做,但对于一个系统而言,创建、销毁、调度线程的过程是需要开销的,所以我们并不能无限量地开启线程,那么对线程的了解就变得尤为重要了。Thread/Runnable/Callable...

2018-11-16 10:06:25

Android P 适配

Goolge自 android L (6.0) 以来就持续对安装系统进行 安全 以及 性能上的升级,此次的 android P (9.0)也不例外, 更大程度上对之前一些版本一些警告的具体落实,无论你的 Target Api 是否是 28 都将受到影响。1. 影响所有应用 (无论TargetApi 是否 28+)1.1 non-sdk 接口限制此限制不仅仅局限于sdk层 ( 直接引用 ...

2018-11-07 11:28:05

Android各个版本的Feature变更

Android 8.0 相关变更        后台执行限制改动默认只只针对Android8.0及以上,不过用户可以设置将该改动作用于任何应用。 处于后台的应用不在允许创建后台服务了,如果创建会抛出一个IllegalStateException异常。        应用进入后台应用时会有一个时间窗,在该时间窗之内应用的后台服务还是在运行且可以创建后台服务,该事件窗口结束之后系统会将后台服务结束...

2018-11-06 10:44:13

Android Canvas绘图

    以图形处理来说,我们最常用到的就是在一个View上画一些图片、形状或者自定义的文本内容,这里我们都是使用Canvas来实现的。你可以获取View中的Canvas对象,绘制一些自定义形状,然后调用View. invalidate方法让View重新刷新,然后绘制一个新的形状,这样达到2D动画效果。下面我们就主要来了解下Canvas的使用方法。Canvas对象的获取方式有两种:一种我们通过重...

2018-10-31 17:52:36

android app耗电分析方法

      这是一篇讲述应用耗电的文章,围绕 Android 电量采集机制及第二代 Battery Historian 分析工具讲述。文从数据采集、导出、环境搭建、解读报告的角度出发,从细节讲解整个流程。和大谈概念的文章不同,这里将进行实际操作及分析。写作动机来源于最近的工作需求,但分析过程中发现网上资料较为匮乏。在此执笔写作,以便日后回顾,亦作为分享的机会。0x01 电量统计模块概述...

2018-10-10 16:23:41

Android 7.0 startActivity()源码解析

本文并不是非常详细地解释startActivity()源码每行代码的具体作用(实际上也根本做不到),所以我省略了很多代码,只保留了最核心的代码。我研究这段源码的目的是解决以下几个我在开发应用的过程中所思考的问题:是通过何种方式生成一个新的Activity类的,是通过java反射生成的吗? Activity的生命周期回调方法是通过哪个类调用的,在什么时候调用的? 界面的绘制是在执行Activ...

2018-10-09 14:30:12

Android App新手指引开源控件——开源整理

一个App第一次与用户接触或者发生大版本更新时,常常会用户进行新手引导,而一个好的新手指引,往往能够方便新用户快速了解操作你的应用功能。新手指引的重要性,不言而喻。本文搜集整理了Github上一些效果不错的新手指引开源控件,帮助你的应用在用户面前有更好的效果展示。当然,如果你有精力,也可以自己开发维护一套新手指引效果。GuideViewhttps://github.com/binIote...

2018-09-18 10:20:33

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。