android开发

TH
大家都知道Android View绘制过程包含Measure、Layout、Draw三个主要的过程,这个过程看似简单,但是在应用的时候,很多同学还是不能很好的运用。我希望这篇文章可以把其中的一部分——Measure——讲的更加清晰一点。 Measure过程是对View大小的测量过程,相比其他两个过程,Me
Thang-Pham 1年前发布
TS
Android和iOS开发都支持C++开发,可以一套代码多平台使用。同时C++难以反编译的特性也可以为Android开发带来代码的保密,另一native特性也可以提高代码的运行效率。 一、为什么使用C/C++ 便于移植,用C/C++写得库可以方便在其他的平台上再次使用。 代码的保护,由于java层代码
Tsvetomir-Tsonev 1年前发布
ER
序言 之前写过一篇关于Android项目如何架构的,有MVC和MCVP,前几天又看到了新的一种架构,当然并不是新出的,出了有一段时间,当前被应用的并不是很普遍,接下来从其特点和使用上来介绍Flux架构。本文主要目的是让你对Flux的一个架构大体面貌有个了解。 Flux 架构介绍 Flux
erjan 1年前发布
MI
1.Activity的生命周期 1)多个Activity组成Activity栈,当前活动位于栈顶。我们先来看看各种Activity基类的类图: 当Activity类定义出来之后,这个Activity何时被实例化、它所包含的方法何时被调用,这些都不是由开发者所决定的,都应该由Android系统来决定。 下面我们来看一
Mitul-Maheshwari 1年前发布
OL
需求:歌词可以根据播放进度进行滑动;歌词滑动要顺畅; 实现方式一:自定义view,继承textview; 通过重写onDraw来绘制每一行text;通过onTouchEvent来控制位置;但是实现之后发现滑动的并不顺畅。于是最后干脆想着用listview来实现,于是有了实现方式二。 实现方式二、整体布
olidy 1年前发布
US
为什么要使用三层缓存 如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了 假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响 特
user42155 1年前发布
GR
handler在安卓开发中是必须掌握的技术,但是很多人都是停留在使用阶段。使用起来很简单,就两个步骤,在主线程重写handler的handleMessage( )方法,在工作线程发送消息。但是,有没有人想过这种技术是怎么实现的呢?下面我们一起探讨下。 先上图,让大家好理解下handler机制:
grand-johnson 1年前发布
AH
在编程开发中,内存的占用是我们经常要面对的现实,通常的内存调优的方向就是尽量减少内存的占用。这其中避免创建不必要的对象是一项重要的方面。 Android设备不像PC那样有着足够大的内存,而且单个App占用的内存实际上是比较小的。所以避免创建不必要的对象对于Android开发尤
Ahamed 1年前发布
JO
1. 简介 直到4g时代,流量依然是宝贵的东西。而移动网络传输中,最占流量的一种载体:图片,成为了我们移动开发者不得不关注的一个问题。 我们关注的问题,无非是图片体积和质量如何达到一个比较和谐的平衡,希望得到质量不错的图片同时体积还不能太大。 走在时代前列的谷歌给
Johnny 1年前发布
RH
什么是Context? 一个Context意味着一个场景,一个场景就是我们和软件进行交互的一个过程。比如当你使用微信的时候,场景包括聊天界面、通讯录、朋友圈,以及背后的一些数据。 那么从程序的角度来看,Context是什么?其实一个Activity就是一个Context,一个Service也是一个Con
Rhubarb 1年前发布
ST
Path作为Android中一种相对复杂的绘图方式,官方文档中的有些解释并不是很好理解,这里作一个相对全面一些的总结,供日后查看,也分享给大家,共同进步。 1.基本绘图方法 addArc(RectF oval, float startAngle, float sweepAngle) 绘制弧线,配合Paint的Style可以实现不同的填
Stephan-Muller 1年前发布
AH
相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧。: ? ) 不要复用 这一条可能很多人会有不同的意见,因为广为流行的编程理念就在教导我们要复用
Ahamed 1年前发布
FA
花絮 也许会有人感叹某些人的运气比较好,但是他们不曾知道对方吃过多少苦,受过多少委屈。某些时候就是需要我们用心去发现突破点,然后顺势而上,抓住机遇,那么你将会走向另外一条大道,成就另外一个全新的自我。 先简单说说我最近的面试经历吧。面试的公司很多,其中有让我
Fabien-Menager 1年前发布
SD
基于Android 6.0源码, 来分析存储相关架构,涉及源码: /framework/base/services/java/com/android/server/SystemServer.java /framework/base/services/core/java/com/android/server/MountService.java /framework/base/services/core/java/com/android/server/NativeDaemonC
sdellysse 1年前发布
VI
基于Android 6.0的源码,剖析存储架构的设计 一、概述 本文讲述Android存储系统的架构与设计,涉及到最为核心的便是MountService和Vold这两个模块以及之间的交互。上一篇文章Android存储系统之源码篇从源码角度介绍相关模块的创建与启动过程,那么本文主要从全局角度把握和剖
Vivek 1年前发布
RA
在 Android 开发中,矩阵是一个功能强大并且应用广泛的神器,例如:用它来制作动画效果、改变图片大小、给图片加各类滤镜等。对于矩阵,Android 官方 SDK 为我们提供了一个强大的类 Matrix (还有 ColorMatrix )是一直困扰着我的问题,虽然大致能够调用相应的 API ,但却一直
RAnders00 1年前发布
GE
前言 最近部门内抛出了一个问题,应用启动很慢、卡图标?主要表现在中低端机型中。究其这个问题,由于对性能优化比较感兴趣,借了个低端机和一个中端机来一看究竟,对同一应用分别测了下它在中低端机的启动时间,下面为启动耗时情况: 启动了三次,基本都在4s左右。 原因 究其
George 1年前发布
AN
简介 本文介绍CircleProgressDialog开源库的使用及实现的详细过程,该开源库主要实现以下几个功能: 自定义一个好看的圆形进度条,可直接在布局文件中使用,可设置圆环宽度、圆环颜色、圆环阴影大小等属性; 实现自定义的dialog,用于用户等待时的显示,通过简单的代码即可直
Aniket 1年前发布
AH
Activity生命周期经典图解: 按键对生命周期的影响: BACK键: 当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->onDestory()三个方法。 再次启动App时,会执行onCreate()->onStart()->onResume() HOME键: 当我们打开应用程
Ahamed 1年前发布
UT
前言 让我一起来看看 Iván Carballo和他的团队是如何使用Espresso, Mockito 和Dagger 2 编写250个UI测试,并且只花了三分钟就运行成功的。 在这篇文章中,我们会探索如何使用Mockito(译者注:Mockito是java编写的一个单元测试框架),Dagger 2 去创建快速可靠的Android UI测
Utkash-Bhatt 1年前发布