
Android学习笔记
文章平均质量分 90
Grackers
闻道有先后 术业有专攻 如是而已
展开
-
Android Systrace 基础知识(11) - Triple Buffer 解读
本文是 Systrace 系列文章的第十一篇,主要是对 Systrace 中的 Triple Buffer 进行简单介绍,简单介绍了如何在 Systrace 中判断卡顿情况的发生,进行初步的定位和分析,以及介绍 Triple Buffer 的引入对性能的影响本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也许原创 2020-06-10 08:04:12 · 2194 阅读 · 5 评论 -
Android Systrace 基础知识(10) - Binder 和锁竞争解读
本文是 Systrace 系列文章的第十篇,主要是对 Systrace 中的 Binder 和锁信息进行简单介绍,简单介绍了 Binder 的情况,介绍了 Systrace 中 Binder 通信的表现形式,以及 Binder 信息查看,SystemServer 锁竞争分析等本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚原创 2020-06-08 08:06:23 · 1554 阅读 · 1 评论 -
Android Systrace 基础知识(9)-MainThread 和 RenderThread 解读
本文是 Systrace 系列文章的第九篇,主要是是介绍 Android App 中的 MainThread 和 RenderThread,也就是大家熟悉的「主线程」和「渲染线程」。文章会从 Systrace 的角度来看 MainThread 和 RenderThread 的工作流程,以及涉及到的相关知识:卡顿、软件渲染、掉帧计算等本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲原创 2020-06-05 07:31:46 · 1983 阅读 · 0 评论 -
Android Systrace 基础知识(7) - Vsync 解读
本文是 Systrace 系列文章的第七篇,主要是是介绍 Android 中的 Vsync 机制。文章会从 Systrace 的角度来看 Android 系统如何基于 Vsync 每一帧的展示。Vsync 是 Systrace 中一个非常关键的机制,虽然我们在操作手机的时候看不见,摸不着,但是在 Systrace 中我们可以看到,Android 系统在 Vsync 信号的指引下,有条不紊地进行者每一帧的渲染、合成操作,使我们可以享受稳定帧率的画面。本系列的目的是通过 Systrace 这个工具,从另外一个原创 2020-06-02 08:58:33 · 2303 阅读 · 0 评论 -
Android Systrace 基础知识(6) - Input 解读
本文是 Android Systrace 系列文章的第五篇,主要是对 Systrace 中的 Input 进行简单介绍,介绍其 Input 的流程; Systrace 中 Input 信息的体现 ,以及如何结合 Input 信息,分析与 Input 相关的问题本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也原创 2020-05-27 00:31:47 · 1184 阅读 · 1 评论 -
Android Systrace 基础知识(5) -- SurfaceFlinger 解读
本文是 Android Systrace 系列文章的第五篇,主要是对 Android 系统中的 SurfaceFlinger 进行简单介绍,介绍了 SurfaceFlinger 中几个比较重要的线程,包括 Vsync 信号的解读、应用的 Buffer 展示、卡顿判定等,由于 Vsync 这一块在Systrace 基础知识 - Vsync 解读 和 Android 基于 Choreographer 的渲染机制详解 这两篇文章里面已经介绍过,这里就不再做详细的讲解了。本系列的目的是通过 Systrace 这个原创 2020-05-27 08:12:53 · 1920 阅读 · 0 评论 -
Android Systrace 基础知识(4) - SystemServer 解读
本文是 Systrace 系列文章的第四篇,主要是对 SystemServer 进行简单介绍,介绍了 SystemServer 中几个比较重要的线程,由于 Input 和 Binder 比较重要,所以单独拿出来讲,在这里就没有再涉及到。本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也许从 Systrace原创 2020-05-22 13:35:18 · 1768 阅读 · 4 评论 -
Android Systrace 基础知识(3) - Why 60 fps ?
本文是 Systrace 系列文章的第三篇,解释一下为何大家总是强调 60 fps。60 fps 是一个软件的概念,与屏幕刷新率里面提到的 60hz 是不一样的,可以参考这篇文章:新的流畅体验,90Hz 漫谈本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 的运行,从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也许从 Systrace 这个图形化的角度,你可以理解的更深入一些。原创 2020-05-22 13:05:11 · 1094 阅读 · 0 评论 -
Android Systrace 基础知识(1) -- Systrace 简介
本文是 Systrace 系列文章的第一篇,主要是对 Systrace 进行简单介绍,介绍其简单使用方法;如何去看 Systrace;如何结合其他工具对 Systrace 中的现象进行分析。本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也许从 Systrace 这个图形化的角度,你可以理解的更深入一些。系原创 2020-05-21 22:03:54 · 5685 阅读 · 0 评论 -
Android Systrace 基础知识(2) -- 分析 Systrace 预备知识
本文是 Systrace 系列文章的第二篇,主要是讲解一些分析 Systrace 的预备知识, 有了这些预备知识, 分析 Systrace 才会事半功倍, 更快也更有效率地找到问题点.本文介绍了如何查看 Systrace 中的线程状态 , 如何对进程的唤醒信息进行分析, 如何解读信息区的数据, 以及介绍了常用的快捷键. 通过本篇文章的学习, 相信你可以掌握进程和线程相关的一些信息, 也知道如何查看复杂的 Systrace 中包含的关键信息系列文章目录Systrace 简介Systrace 基础知识原创 2020-05-21 23:02:59 · 3301 阅读 · 0 评论 -
[Android学习笔记[使用Fragments取代tabActivity开发网易新闻客户端框架
前记:手头一直有一个网易新闻客户端的框架(只是一个空架子),基本在上面进行修改,就可以作出自己的东西。里面的主框架是使用TabActivity和TabHost。近日打开项目发现,TabActivity已然被谷歌取消了,虽然可以继续用,但是谷歌取消它自有取消它的理由。去Doc中一看,TabActivity建议用Fragment代替。于是开始研究这个Fragment使用,一看才知道,这个Fragm原创 2012-08-10 20:29:43 · 15512 阅读 · 21 评论 -
分享一个将Log记录到文件中的工具类
1.Log2File工具类的作用这个工具类是用于Android程序将Log记录到文件中的类,类很简单,复制粘贴过去就可以直接用。应用场景:无法连接电脑进行调试(usb线被usbotg占用)Log不容易被抓取Bug出现很随机,不是必出现其他自己脑补2.Log2File工具类源码import java.io.BufferedWriter;import java原创 2014-01-15 21:16:31 · 2553 阅读 · 0 评论 -
[Android学习笔记]fragment配合RadioGroup实现点击切换内容
这个主要是如何替换fragment的demo。效果图如下(下面的tabhost和上面的bar不属于这次的内容,这个是我做的一个应用程序框架的一部分,有需要的或者想研究研究的可以私下联系),主要是讲解中间的内容怎么实现,即点击上面的RadioGroup,下面的内容一起改变(改变的是XML中的布局,这样的话下面三个的布局完全可以自己定义)1.首先在主界面的xml中添加一个Rad原创 2012-08-15 15:53:47 · 11639 阅读 · 12 评论 -
[Android学习笔记]使用Android Junit进行测试的注意事项
1.在AndroidManifest.xml中添加两处:(1) 这个要添加在标签里面,在四大组件前面声明(2) <instrumentation android:name="android.test.InstrumentationTestRunner" android:label="niemi"原创 2012-08-13 16:57:00 · 2117 阅读 · 1 评论 -
Ubuntu 升级VisualBox后无法启动 Kernel driver not installed (rc=-1908)
VisualBox之所以在Linux上比传统的VMware快得多,关键一点就是它和Linux内核的结合比较紧密,这也是开源的优点。不过Linux内核更新很频繁,每次更新内核后启动VirtualBox都会提示:VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or转载 2012-08-03 10:23:57 · 1360 阅读 · 0 评论 -
【Ubuntu手记】64位Ubuntu11.10下 eclipse配置Android开发环境所遇到的问题
闲来无事,下了一个ubuntu11.10,想试试新的界面。在配置Android开发环境的时候,碰到了如下问题:1.直接从软件商店里下载的Eclipse,版本为3.7。按照传统配置ADT的方法发现没有成功。解决方法:在输入网址 之前,以同样的方法加入http://download.eclipse.org/releases/indigo这段,然后再增加https://dl-ssl.googl原创 2012-02-09 18:28:32 · 1146 阅读 · 0 评论 -
【Android自学笔记】为Android应用程序添加Rate功能
private void launchMarket() { Uri uri = Uri.parse("market://details?id=" + getPackageName()); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); try { startActivity(goToMarket); } cat原创 2012-04-03 17:44:29 · 1772 阅读 · 0 评论 -
Android 传感器(Sensor)API教程 (三) 传感器值取得例程及处理流程
原帖地址:http://www.androidegg.com/portal.php?mod=view&aid=5941.3.6 传感器的值取得及例程 传感器值取得需要通过SensorManager#registerListener方法对加载SensorEv转载 2011-09-02 15:15:48 · 1987 阅读 · 0 评论 -
Android 传感器(Sensor)API教程 (五) 瞬间的加速度值取得
原帖地址: http://www.androidegg.com/portal.php?mod=view&aid=6361.4.3 瞬间加速度值的取得 例如类似计步器、作用力测定的应用开发的时候,很想检测出加速度急剧的变化。这个时候,和Low转载 2011-09-02 15:18:13 · 1585 阅读 · 0 评论 -
Android 传感器(Sensor)API教程 (二) 传感器事件
原帖地址:http://www.androidegg.com/portal.php?mod=view&aid=5921.3.4 android.hardware.SensorEvent SensorEvent类是在传感器事件(onAccuracyChanged转载 2011-09-02 15:14:19 · 1443 阅读 · 0 评论 -
Android 传感器(Sensor)API教程 (七) 倾斜加速度
原帖地址: http://www.androidegg.com/portal.php?mod=view&aid=6491.5 倾斜传感器 在加速度传感器的那一节里面Low-Pass Filter的处理和手机的倾斜大致意思我们应该能理解了。但是,到目前为止我们取得的形转载 2011-09-02 15:20:48 · 1517 阅读 · 0 评论 -
Android 传感器(Sensor)API教程 (一) 常用方法简介
原帖地址:http://www.androidegg.com/portal.php?mod=view&aid=578 谢谢原作者的分享摘要: 主要介绍传感器的种类,常用方法,事件等,通过例程进行讲解分析。传感器(Sensor)听起来似乎感觉很难,其实它并不是很难。做起来并转载 2011-09-02 11:35:35 · 2895 阅读 · 0 评论 -
Android 传感器(Sensor)API教程 (六) 加速度传感器运用实例
原帖地址:http://www.androidegg.com/portal.php?mod=view&aid=6411.4.4 加速度传感器运用实例 在这里,我们对Low-Pass Filter和High-pass filter实例进行说明。在实际的运转载 2011-09-02 15:19:34 · 2066 阅读 · 0 评论 -
Android 传感器(Sensor)API教程 (四) 加速度传感器
原帖地址:http://www.androidegg.com/portal.php?mod=view&aid=6121.4 加速度传感器 加速度传感器是为了检测物体的加速度的传感器。物体运动加速度也跟着变化,如果能取到加速度,物体受到什么样的作用力或则物体进行什么样转载 2011-09-02 15:17:09 · 1782 阅读 · 0 评论 -
【Android自学笔记之二】为自己的android程序添加menu菜单
android应用中,菜单为使用者提供了软件的使用方法以及软件制作人的一些资料,同样许多软件的退出菜单也在menu中。这里我简单说说menu菜单的添加方法:1. menu菜单是在activity中添加的,添加menu菜单需要重写两个方法:onCreateOptionsMenu原创 2011-09-29 14:30:20 · 1732 阅读 · 1 评论 -
【Android自学笔记之三】surfaceView更新线程
android中的surfaceView是做游戏的最佳选择,surfaceView中的刷新界面是主动进行刷新 :比如下面这段代码:run方法中执行Draw()后,休眠100毫秒public void run() { while (mIsRunning)原创 2011-09-29 11:15:54 · 1826 阅读 · 1 评论 -
【Android自学笔记】对应资源文件夹中的图标尺寸
应用程序做好后,配一个图标是很重要的。android的adt提供了android图标的制作:Android icon set。 通过这个可以新建一个图标。但是我在用的过程中发现并不是很好用,尤其是我将圆角的png图放上去以后,它会在四个角添加白色,使得很难看 ,PS:如果谁知道怎么设置背景色为透明,告诉我一下,不胜感激。于是我将图标手动进行放大和缩小,放在不同的资源文件下。这里将用到的几个原创 2012-03-24 13:50:39 · 6640 阅读 · 1 评论 -
【Android自学笔记】android真机测试时 出现 “远程主机强迫关闭了一个现有的连接”的解决方法
最近在用真机测试的时候会出现 “远程主机强迫关闭了一个现有的连接。” 然后开启连接..在网上找了半天,没有人说的很明白,我自己遇到了,把解决方法给大家共享一下:出现这种情况的原因是adb没有连接上。打开DDMS看 Devices一栏,里面没有真机 。1.一种解决方法是在cmd下进入adb所在的文件夹,输入以下命令: 2.第二种就比较简单了 ,由于DDMS整合了androi原创 2011-09-05 20:43:57 · 1920 阅读 · 0 评论 -
【Android自学笔记】Android中的Log小技巧
不得不说Log是个很好用的东西,平时开发中也经常会去使用,这里就简单介绍一些我在使用中的一些小技巧:Log.v的函数public static int v (String tag, String msg)Since: API Level 1Send a VERBOSE log message.Parameterstag Used to identify the source of原创 2012-03-24 14:22:00 · 1373 阅读 · 0 评论 -
【Android自学笔记】Android获取手机和存储卡上的图片
/** * 通过uri获取文件的绝对路径 * @param uri * @return */ protected String getAbsoluteImagePath(Uri uri) { // can post image String [] proj={MediaStore.Images.Media.DATA}原创 2011-05-04 07:36:00 · 2758 阅读 · 3 评论 -
可视化操作android数据库文件
原文地址:http://www.androidtong.com/3_7_zh.html 作者: 乔伊特 ,感谢作者的无私奉献描述:在开发Android应用的过程中,有时候需要利用可视化工具看到或修改数据库的内容,有时候希望把数据库到处到文件中,有没有这样的工具?回答:SQLite Database browser是一个专门为Sqlite数据库开发的开源工具,而且可以在转载 2012-03-09 10:01:51 · 1742 阅读 · 0 评论 -
androidUI设计:shape和selector的结合使用
原文地址:http://zhiwenweb.cn/jszx/bckf/ydkf/android/201112/34959.htmlshape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。1.S转载 2012-03-17 15:21:44 · 972 阅读 · 0 评论 -
【Android自学笔记之一】个性TextView自己实现
<br />首先先看一下Android提供的TextView的属性,感谢那些为我们翻译api的战友们!<br />java.lang.Object<br /> ↳ android.view.View<br /> ↳ android.widget.TextView<br />已知直接子类:<br /> Button, CheckedTextView, Chronometer, DigitalClock, EditText<br />已知间接子类:<br /> AutoCompleteText原创 2011-03-20 10:25:00 · 5074 阅读 · 4 评论