- 博客(50)
- 资源 (3)
- 收藏
- 关注
原创 android Framework知识点简记
四、mediaserver启动的时候注册binder服务流程进程启动进入Main_mediaserver.cpp的main函数。初始化ProcessState,初始化的时候进行了以下操作:(1) 打开binder驱动,调用的是驱动层的 binder_open函数,并拿到文件描述符fd。(2) 设置驱动层最大的线程数15,调用的是驱动层的 binder_ioctl 函数。(3) 调用mmap函数映射一块内存,驱动层调用的是binder_mmap函数,传入参数是fd和 1M-8k的内存大小跨进程
2023-09-25 17:48:57
116
原创 android UI绘制流程初探
本文讲的是从布局加载、activity启动、绘制流程的讲解需要对照源码来看,如果有什么错误也请大家见谅!每当我们启动一个activity之后,我们之前在xul里面写的标签对布局就会按照我们想要的样式呈现在屏幕上,android是如何将xml会知道屏幕上的呢?对于ui的绘制,我们就会有三个疑问:android是如何将xml布局加载进activity绘制的window上面的?布局是在什么时候...
2019-12-11 19:41:07
194
原创 Java 插入排序
原理:假定从小到大排序,从第二个数开始,把当前的数用一个变量temp保存起来,然后倒序依次跟前面的数比较,较大的数依次往后移,找到自己要插入的地方将数插入。如此往返循环将所有的树插入进去。 时间复杂度 O(n^2)public class InsertionSort{ public static void main(String[] args) { int[] a = new int[...
2019-01-14 11:29:53
144
原创 Java 选择排序
选择排序(原理是将后面剩下最小<最大>的数放在最前面) 时间复杂度 O(n^2)public class SelectSort{ public static void main(String[] args) { int[] a = new int[20]; Random r = new Random(); for(int i=0;i<20;i++){ a...
2019-01-14 11:22:54
517
原创 java 冒泡排序
冒泡排序的原理是循环的将两个相邻的数进行比较,根据排序规律将数字交换,数字最大的将会排到数组的一端,时间复杂度为O(n^2)public class BubbleSort { private static int[] a = {57,21,4,6,8,12,5,36,1,33}; public static void main(String[] args) { for (in...
2019-01-14 10:51:48
136
原创 java 二分插入排序算法
二分插入排序实现原理:假定从小到大排序,从第二个数开始,把当前的数用一个变量temp保存起来作为要插入的数,然后根据二分查找原则在要插入的数前面找到需要插入的地方,然后较大的数依次往后移,将temp放在插入的地方。然后从第三个数开始如此往返循环将所有的数插入进去。时间复杂度 O(nlogn) public class BinaryInsertSort { public sta...
2019-01-14 10:45:15
1099
1
原创 记一次hprof-conv.exe的运用
android studio 3.0的发布把android monitor变成了android profiler。通过android profiler 生成的hprof文件不能再studio里面转换成标准的hprof文件,这个时候就需要我们手动的通过sdk的platform-tools包下的hprof-conv.exe来转换成标准的hprof文件。首先打开cmd命令行进入hprof-conv....
2019-01-14 09:54:15
4170
原创 android触摸事件的分发
本文根据源码来梳理流程,将事件分发分为down、move、up、cancel事件分别分析梳理。算是比较详尽的分析了整个流程。一、触摸事件传递流程用户触摸屏幕,Ativity是最先接触到屏幕的,然后将触摸事件传递到DecorView,然后由DecorView处理具体的事件分发。DecorView也是一个ViewGroup,接下来我们将从ViewGroup开始分析触摸事件分发。...
2018-06-13 13:04:32
355
原创 java快速排序算法
之前看快速排序算法感觉不是很很简单易懂,根据自己理解写了一个。public class QuickSort { public static void main(String[] args) { int[] array = new int[]{2,8,7,1,3,5,6,4};// int[] array = new int[]{12,34,4,99,65,25,7
2016-11-20 00:04:06
230
转载 Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()
http://blog.youkuaiyun.com/xyz_lmn/article/details/12517911
2016-05-23 11:33:21
261
转载 用户手势检测-GestureDetector使用详解
http://blog.youkuaiyun.com/harvic880925/article/details/39520901
2016-05-13 17:59:08
269
转载 Java四种线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
2016-03-15 14:11:00
319
转载 Android自定义圆角ImageView 支持网络图片
查看详情请点链接 http://blog.youkuaiyun.com/soul_code/article/details/50323481
2016-01-21 12:24:23
333
转载 android自定义控件(二) 入门,继承View
转载地址 http://blog.youkuaiyun.com/ethan_xue/article/details/7313788
2015-08-24 11:39:28
307
转载 Android应用自动更新功能的实现
http://blog.youkuaiyun.com/android_tutor/article/details/7015986
2015-08-17 10:29:51
347
转载 Activity四种启动模式
Activity启动方式有四种,分别是:standardsingleTopsingleTasksingleInstance可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题。设置Activity的启动模式,只需要在AndroidManifest.xml里对应的标签设置android:launchMode属性,
2015-07-02 14:30:23
394
转载 如何访问android的asset目录和res目录下的文件
在很多时候,我们需要访问android中的资源文件,这些资源文件主要分为两类,一种出于asset目录下,称为原生文件,这类文件在被打包成apk文件时是不会进行压缩的;另一类则是res下的文件,这类文件在打包成apk文件时,会进行小内存优化的哦。 两种不同类型的文件,对应着不同的访问模式。我们先来看看asset文件的访问: android中有一个专门的类来
2015-06-25 11:30:27
1159
转载 Android--记录和恢复listView滚动位置的3种方法
有时在view切换时,需要恢复listView之前滚动到的位置,常用的三种方法如下:1、记录listView滚动到的位置的坐标,然后利用listView.scrollTo精确的进行恢复listView.setOnScrollListener(new OnScrollListener() { @Override public voi
2015-05-22 17:31:01
409
转载 Eclipse断点调试
作为开发人员,掌握开发环境下的调试技巧十分有必要。去年就想把关于Eclipse断点调试总结下了,由于对时间的掌控程度仍需极大提高,结果拖到今年才写了此篇博文。关于java调试技术还有很多,如Java Debug Interface等,依据具体项目的需要,还有很多值得去研究和学习的。该博文仅就Eclipse断点调试技巧做下总结,不足够的地方还请大牛们指点。1 Debug视图1.1
2015-04-29 17:03:13
306
转载 【android应用】——设置控件的透明度
1、Button或者ImageButton的背景透明或者半透明半透明:透明:颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff
2015-04-10 11:48:42
418
转载 android 焦点控制
* 父元素分配焦点 setFocusable() 设置view接受焦点的资格 isFocusable view是否具有接受焦点的资格 setFocusInTouchMode() 对应在触摸模式下,设置是否有焦点来响应点触的资格 isFocusableInTouchMode() 对应在触摸模式下,来获知是否有焦点来响应点触焦点获取re
2015-03-27 11:02:04
397
转载 Android中的软引用(SoftRefrerence)和弱引用(WeakReference)
在Android开发中,基本上很少有用到软引用或弱引用,这两个东东若用的很好,对自己开发的代码质量的提高有很大的帮助。若用的不好,会坑了自己。所以,在还没有真正的去了解它们之前,还是慎用比较好。 下面将通过两个Demo来结识软引用和弱引用在开发中的运用。 一. WeakReference:防止内存泄漏,要保证内存被虚拟机回收。 下面以一个时间更新的De
2015-03-24 11:27:04
526
转载 android 项目框架搭建
1、android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal)ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下拉刷新ListView在
2015-03-24 11:20:52
531
转载 Eclipse 生成android程序apk文件
1、Eclipse工程中右键工程,弹出选项中选择 android工具 → 生成签名应用包:2、选择需要打包的android项目工程:3、如果已有私钥文件,选择私钥文件 输入密码,如果没有私钥文件见第6和7步创建私钥文件:4、输入私钥别名和密码:5、选择APK包存储的位置,并完成设置,开始生成APK签名包:6、没有私钥文
2015-03-23 10:04:19
400
转载 [Android]如何导入已有的外部数据库
我们平时见到的android数据库操作一般都是在程序开始时创建一个空的数据库,然后再进行相关操作。如果我们需要使用一个已有数据的数据库怎么办呢?我们都知道android系统下数据库应该存放在 /data/data/com.*.*(package name)/ 目录下,所以我们需要做的是把已有的数据库传入那个目录下。操作方法是用FileInputStream读取原数据库,再用FileOutput
2015-03-03 17:34:40
381
转载 非UI线程处理Bitmap
非UI线程处理Bitmap 在上一课中有介绍一系列的BitmapFactory.decode*)方法,当数据源是网络或者是磁盘时(或者是任何实际源不在内存的),这些方法都不应该在mainUI 线程中执行。那些情况下加载数据是不可以预知的,它依赖于许多因素(从网络或者硬盘读取数据的速度, 图片的大小, CPU的速度,etc.)。如果其中任何一个任务卡住了UI thread, 系统会出现ANR
2015-03-02 19:01:01
312
转载 android 大尺寸图片处理
有效地加载大尺寸位图(LoadingLarge Bitmaps Efficiently) 图片有不同的形状与大小。在大多数情况下它们的实际大小都比需要呈现出来的要大很多。例如,系统的Gallery程序会显示那些你使用设备camera拍摄的图片,但是那些图片的分辨率通常都比你的设备屏幕分辨率要高很多。 考虑到程序是在有限的内存下工作,理想情况是你只需要在内存中加载一个低分辨率的版本即
2015-03-02 11:18:15
510
转载 Android 原始资源文件的使用详解
背景知识介绍与其他平台的应用程序一样,Android中的应用程序也会使用各种资源,比如图片,字串等,会把它们放入源码的相应文件夹下面,如/res/drawable, /res/xml, /res/values/, /res/raw, /res/layout和/assets。Android也支持并鼓励开发者把UI相关的布局和元素,用XML资源来实现。总结起来,Android中支持的资源有:•
2015-01-23 11:55:55
487
转载 Android:单元测试Junit的配置
在实际开发中,开发android软件的过程需要不断地进行测试。而使用Junit测试框架,侧是正规Android开发的必用技术,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性..........第一步:首先在AndroidManifest.xml中加入下面代码:[html] view plaincopyprint?
2015-01-09 11:04:38
292
转载 sql语句大全
创建数据库创建之前判断该数据库是否存在if exists (select * from sysdatabases where name='databaseName')drop database databaseNamegoCreate DATABASE databasenameon primary-- 默认就属于primary文件组,可省略(
2014-12-31 16:25:08
337
转载 Android开机广播和关机广播
有些时候我们需要我们的程序在系统开机后能自动运行,这个时候我们可以使用Android中的广播机制,编写一个继承BroadcastReceiver的类,接受系统启动关闭广播。代码如下:[java] view plaincopy/** *@author coolszy *@date 2011-6-14 *@blog http://blog.youkuaiyun.com/coolszy */ pu
2014-12-25 16:15:09
518
转载 android Mediaplayer用法
3、Mediaplayer 介绍 MediaPlayer 类可以用来播放音频、视频和流媒体,MediaPlayer 包含了 Audio 和 Video 的播放功能,在 Android 的界面上, Music 和 Video 两个应用程序都是调用 MediaPlayer 实现的。下面两张图是MediaPlayer 在 Android 和 Open Core 的示例图:
2014-12-18 10:12:44
597
转载 ActionBar 下
在上篇文章中我们只学习了ActionBar基础部分的知识,那么本篇文章我们将接着上一章的内容继续学习,探究一下ActionBar更加高级的知识。如果你还没有看过前面一篇文章的话,建议先去阅读Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)。添加ActionProvider和Action View有点类似,ActionProvider也可以将一个Action按钮
2014-12-02 17:10:05
371
转载 Android ActionBar
Android ActionBar完全解析,使用官方推荐的最佳导航栏(上) Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中.一、Action Bar 功能 1 .标识了用户当前操作界面的位置 2. 提供了额外的用户动作 3. 界面导航等功能。 二、使用ActionBar的好处: 它可以给提供一种全局统一的UI界面
2014-12-02 09:45:20
422
转载 Android GridView属性集合
GridView的一些特殊属性:1.android:numColumns=”auto_fit” //GridView的列数设置为自动2.android:columnWidth=”90dp " //每列的宽度,也就是Item的宽度3.android:stretchMode=”columnWidth"//缩放与列宽大小同步4.andr
2014-11-26 17:49:47
265
转载 AutoCompleteTextView常用属性
android:completionHint 下拉列表下面的说明性文字android:completionThreshold 弹出下来列表的最小字符个数android:dropDownAnchor 下拉列表的锚点或挂载点android:dropDownHeight 下拉列表高度android:dropDownWidth 下拉列表宽度android:dropD
2014-11-26 15:42:56
452
转载 android inflater 用法
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。 具体作用: 1、对于一个没有被载入或者想要动态载入的界面,都需要使用Layou
2014-11-24 16:08:37
290
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人