“Read the fucking source code” — linus一句名言体现出了阅读源码的重要性,学习别人得代码是提升自己的重要途径。最近用到了LeakCanary,顺便看…
分类:移动开发
Android中JNI原理基石
核心原理是DalvikVM由native启动 每个应用程序都是由一个或多个进程组成,每个进程都对应着一个DalvikVM。DalvikVM是由代码native启动,在DalvikVM启动后,会返回一个JavaVM结构体。…
工具类之DeviceUtils
好久没更新了,最近都在做工具类的测试,这个是最新通过的,大家可以看看,发车喽 设备相关→DeviceUtils.java isRoot : 判断设备是否root getSDKVersion : 获取设备系统版本号 get…
腾讯Bugly应用升级使用总结
前言 最近正在新上线项目,照以往惯例复制来了以前一直在用的一套检查更新的代码,手写的升级逻辑还是很烦的,要调接口,每次复制过来还要针对新项目修修补补,今天无意间看到…
CardView的基本用法
引用 Gradle 依赖 compile 'com.android.support:cardview-v7:23.2.0' 主布局引用(可用于RecyclerView的item布局) <android.suppor…
略讲Android 中的多线程
Handler Handler必须在主线程中创建。 默认情况下,消息队列只有一个,即主线程的消息队列。 每个Hanlder都关联了一个线程,每个线程内部都维护了一个消息队列MessageQueue,这样Handler实际…
Kotlin + Spring Boot服务端开发
Kotlin是什么? 著名IDE厂商JetBrains开发的基于JVM的静态类型编程语言,声称100% interoperable with Java。Kotlin是由工程师设计的,各种细节…
AsyncTask原理及相关原则
1、AsyncTask类的四个抽象方法 public abstract class AsyncTask<Params, Progress, Result> { /** Runs on the UI threa…
[Android面试系列]一句话讲清楚Android消息机制
事件起因 招聘季,面试了一些Android兄弟,发现对基础概念吃的不透. 遂成此文,打算出个一句话系列,讲清楚一些android的基本概念. 让大家在面试的时候能找到心仪的工作,并且不被面试官鄙视….. 此篇…
提升Gradle编译速度
Gradle是Android项目的全新构建系统,使用AndroidStudio工具开发项目的童鞋应该很清楚了,Gradle是基于JVM的构建工具的下一个革命性步骤。它借鉴了已建立的工具(如Ant和Maven)的经验教训,…
Android面试题集合 阿里+腾讯SNG+今日头条+小米
今日头条(一面) 头条是我第一家面试的公司,准备的不够好,问的问题很全面,回答的有点僵,最后给拒了T_T Activity正常和异常情况下的生命周期 Activity的四种启动模式 app如何保证后台服务不被杀死 Int…
Android世界的粘合剂——Binder
Android是个多进程的操作系统,进程包括系统服务和应用程序进程,进程与进程之间并不是孤立的,而是可以通过Binder机制相互通信的,可以说Binder是Android系统进程间的粘合剂,将各个独立的进程粘合起来形成一…