- 博客(39)
- 资源 (8)
- 收藏
- 关注
原创 Handler、Loop、MessageQueue的工作原理<温故知新>
为了更好地理解Handler的工作原理,说下与Handler一起工作的几个组件。 1. MessageQueue:Handler接收和处理的消息对象。 2.Looper:每个线程只能拥有一个Looper。它的loop方法负责读取MessageQueue中的消息,读到信息 之后就把消息交给发送该消息的Handler进行处理。 3.MessageQueue消息队列,它采用先进先出的方式来管理Me
2017-08-05 14:48:06 694
原创 温故知新.Handler消息传递机制.
忙里抽闲,赶紧打开电脑温故下学过用过而又快被时间冲掉的知识点…..。直奔主题出于性能优化考虑,Android系统的UI的操作并不是线程安全的,这意味着如果有多个线程并发操作UI组件,则可能导致线程安全带问题。为了解决这个问题,Android制定了一条简单的规则:只允许UI线程修改Activity里的UI组件。 当一个程序第一次启动时,Android会同时启动一条主线程(Main Threa
2017-08-03 23:28:50 721
原创 (坑记)Genymotion&VirtualBox下载到配置和OVA的正确配置流程
说下载到正常使用步骤前先附上Genymotion官网地址:https://www.genymotion.comWindows系粉丝1.在Genymotion官网注册账号,注册过的就跳..2.再下载安装Genymotion,这里附上一个包含了Genymotion+VirtualBox的链接,直接在CSDN下载即可(下载请点击),不赶时间的客官也可在官网下载Ubuntu系粉丝1.下载安装Virtual...
2018-06-15 23:50:35 1863
原创 HTTP、TCP/IP、Socket与WebSocket的区别!
重温Socket的概念 Socket是通信的雨花石,支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,内含了网络通信须有的五中信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远程主机的IP地址,远程进程的协议端口。独立的Socket是一对IP地址和端口。 Socket可以看成在两个程
2017-11-08 23:25:00 1938
转载 GitHub 优秀的 Android 开源项目
GitHub 优秀的 Android 开源项目2015-12-10 13:37 1164人阅读 评论(0)收藏举报分类: android(17) 作者同类文章X目录(?)[+]GitHub 优秀的 Android 开源项目一ListView二ActionBar三Menu四ViewPa
2017-09-17 00:36:15 4614
转载 GitHub 优秀的 Android 开源项目
分类: android(17) 作者同类文章X目录(?)[+]GitHub 优秀的 Android 开源项目一ListView二ActionBar三Menu四ViewPager Gallery五GridView六ImageView七ProgressBar八其他GitHub上优秀Android开源项目Android开发神器
2017-09-17 00:30:16 5953
转载 Android性能优化之使用MAT分析内存泄露问题
本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/42396507)我们平常在开发Android应用程序的时候,稍有不慎就有可能产生OOM,虽然Java有垃圾回收机,但也不能杜绝内存泄露,内存溢出等问题,随着科技的进步,移动设备的内存也越来越大了,但由于Android设备的参差不齐,可能运行在这台设备好好的,运行在那台设备
2017-01-06 15:49:10 543
转载 Android开发常用框架、专为你偷懒而准备!
1、AndBase框架项目地址: https://code.jd.com/zhaoqp2010_m/andbas1.andbase中包含了大量的开发常用手段。如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使您的应用在团队开发中减少冗余代码,很大的提高了代码的维护性
2016-12-22 14:39:41 480
翻译 RecyclerView详细介绍&使用。
<主菜>RecyclerView简介RecyclerView是Android 5.0提供的新控件,已经用了很长时间了,但是一直没有时间去仔细的梳理一下。现在有时间了,决定来整理下。官方文档中是这样介绍的: A flexible view for providing a limited window into a large data set.RecyclerView比listview更先进更灵活,
2016-07-14 23:40:49 5921
转载 Studio 工具插件ButterKnife的使用
ButterKnife是一个Android View注入的库。1.开始使用1.1 配置Eclipse在使用ButterKnife需要先配置一下Eclipse。项目右键-Properties-Java Complier-Annotation Processing 确保设置和下图一致接着展开Annotation Processing选择Factory Path,选中Enable
2016-05-14 21:25:01 617
原创 Android 异步加载图像优化,如:引入线程池、引入缓存
关于Android 从网络上异步加载图像: 个人总结,重在分享! 异步加载图像,由于Adnroid Ui 更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先要想到以下方法。1.在主线程中 new 一个Handler对象,加载图像(优化)示1:private void loadImage(final String url, final int id
2016-05-07 19:15:27 1736
翻译 Class类的getGenericSuperClass
Returns the Type representing the direct superclass of the entity (class, interface, primitive type or void) represented by thisClass. If the superclass is a parameterized type, the Type o
2016-05-03 22:13:32 749
原创 MD5--Utils(工具类)
import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;public class Md5 {public static String getVal(String plainText) { tr
2016-04-27 20:25:57 731
原创 线程池.(Executors,ThreadPoolExecutor,BlockingQueue,RejectedExecutionHandler).介绍
线程池Android里面,耗时的网络操作,都会开子线程,在程序里面直接开过多的线程会消耗过多的资源,在众多的开源框架中也总能看到线程池的踪影,所以线程池是必须要会把握的一个知识点;线程运行机制开启线程过多,会消耗cpu资源单核cpu,同一时刻只能处理一个线程,多核cpu同一时刻可以处理多个线程操作系统为每个运行线程安排一定的CPU时间----时间片,
2016-04-27 19:42:39 4553
原创 Android ADB工具
在SDK的Tools文件夹下包含着Android模拟器操作的重要命令ADB,ADB的全称为Android Debug Bridge,就是调试桥的作用,借助这个工具,我们可以管理设备或手机模拟器的状态 ,还可以进行以下的操作:(1)快速更新设备或手机模拟器中的代码,如应用或Android系统升级;(2)在设备上运行Shell命令;(3)管理设备或手机模拟器上的预定端口;(4)在设备或
2016-04-26 20:26:04 1305
翻译 Afinal框架(简介)
Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用;使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。目前Afinal主要有四大模块:
2016-04-26 20:19:04 611
转载 Studio 快捷键集总
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动
2016-04-24 21:25:56 1224
转载 Android 中的(意图Intent)机制,常见应用
Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个媒体中介的作用,专
2016-04-20 20:33:06 2649
转载 Java中的String与常量池(带案例解)
string是java中的字符串。String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。本文主要介绍Java中的String与常量池,希望对你有帮助,一起来看。string是java中的字符串。String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。下面介绍java中的String与常量池。1. 首先Stri
2016-04-20 19:35:05 630
转载 (最全最详)Android简述
Android操作系统最初由Andy Rubin创办的公司研发而来,最初主要支持手机。2005年由Google注资收购,并于2007年11月5日正式向外界展示了这款名为Android的操作系统。Android 体系结构 Android系统的架构android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层
2016-04-19 18:08:53 2021
原创 布局填充器(LayoutInflater)
实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于 findViewById()不同点的是:LayoutInflater 是用来找layout下xml布局文件,并且实例化!findViewById() 是找具体xml下的具体 widget控件(如:Button,TextView等)。一般来讲,我们用LayoutInflater做一件事:infla
2016-04-19 17:12:13 744
转载 5种 (UI线程与后台线程交互设计的方法)
在android的设计思想中,为了确保用户顺滑的操作体 验。一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务。因此我们必须要重新开启一个后台线程运行这些任务。然而,往往这些任务最终又会直 接或者间接的需要访问和控制UI控件。例如访问网络获取数据,然后需要将这些数据处理显示出来。就出现了上面所说的情况。原本这是在正常不过的现象了,但 是android规定除了UI线程外,其他线程都不可以
2016-04-19 00:50:46 578
转载 Context详解
Context,中文直译为“上下文”,SDK中对其说明如下: 1、它描述的是一个应用程序环境的信息,即上下文。 2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现类(后面我们会讲到是ContextIml类)。 3、通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activit
2016-04-12 00:11:56 620
原创 Android MotionEvent 和 TouchSlop
MotionEvent(){在手指接触屏幕所产生的一系列事件中,典型的事件类型有以下几中: * ACTION_DOWN 手指刚接触屏幕; * ACTION_MOVE 手指在屏幕上移动; * ACTION_UP 手指从屏幕上松开的一瞬间;正常情况下 ,一次手指触摸屏幕的行为会触发一系列点击事件,考虑如下几
2016-04-09 21:19:50 4907
原创 View 的位置参数
View 的位置主要由它的四个顶点来决定,分别对应于View的四个属性: top . left . right . bottom,其中top是左上角纵坐标,left是左上角横坐标,right是右下角横坐标,bottom是右下角纵坐标。需要注意的是,这些坐标都是相对于View的父容器来说的,因此它是一种相对坐标,View的坐标和父容器的关系如下图所示:在Android中,X轴和Y轴的正方向分别为右
2016-04-09 19:24:01 713
原创 View是什么,什么是View?
详说View的基础知识之前,我们首先要知道到底什么是View。View是Android中所有控件的基类,不管是简单的Button和TextView还是复杂的RelativeLayout和ListView,它们的共同基类都是View。所以说,View是一种界面层的控件的一种抽象,它代表了一个控件.。除了View,还有ViewGroup,从名字来看,它可以被翻译为控件组,言外之意是View
2016-04-08 23:43:02 11744 1
转载 Android布局控件之LinearLayout详解
Android布局控件之LinearLayout详解 LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框
2016-04-01 23:18:38 524
转载 android布局 FrameLayout(帧布局)详解
FrameLayout(帧布局)前言作为android六大布局中最为简单的布局之一,该布局直接在屏幕上开辟出了一块空白区域,当我们往里面添加组件的时候,所有的组件都会放置于这块区域的左上角;帧布局的大小由子控件中最大的子控件决定,如果都组件都一样大的话,同一时刻就只能能看到最上面的那个组件了!当然我们也可以为组件添加layout_gravity属性,从而制定组件的对其方式
2016-04-01 23:01:39 3391
原创 Listview与Adapter用法
一个ListView通常有两个用途。1》将数据填充到布局。2》处理用户的选择点击等操作。第一点很好理解,ListView就是实现这个功能的。第二点也不难做到,在后面的学习中会发现,这非常简单。一个ListView的创建需要3个元素。1》ListView中的每一列的View。2》填入View的数据或者图片等。3》连接数据与ListView的适配器。也就是说,要使用ListView,首先要了解什么是适配
2016-03-29 12:04:21 533
原创 较常用的sql语句
**常用表**Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#=’001’) a
2016-03-28 19:33:10 818 1
原创 Activity的生命周期全面分析
Activity生命周期分为两部分内容,一部分是典型情况下的生命周期,(另一部分是异常情况下的生命周期)。今天就让小白我说说典型情况的生命周期,(tomorrow at analysis(另一部分异常情况下的生命周期)): 所谓典型情况下的生命周期,是指有用户参与的情况下,Activity所经过的生命周期的改变。典型生命周期analysis: 在正常情况下,Activity常用生命周期就只有
2016-03-05 22:37:33 525
原创 Intent-Filter的匹配规则
示例: 分析各属性的匹配规则:Action的匹配规则: action是一个字符串,系统预定义了一些action,同时我们也可以在应用中定义自己的action。action的匹配规则是Intent中的action必须能够和过滤规则中的action匹配,这里说的是匹配是指action的字符串值完全一样。一个过滤规则中可以有多个act
2016-03-05 21:53:55 663
原创 是否可以从一个static方法内部发出对非static方法的调用?
do not。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非sta
2016-02-26 20:17:58 484
原创 静态变量和实例变量的区别?
public class VariantTest { public static int staticVar = 0; public int instanceVar = 0; public VariantTest() { staticVar++; instanceVar++; System.out.println(“staticVar=” + staticVar + ”,inst
2016-02-26 20:12:05 517
ijkplayer so库 包含(arm64-v8a、armeabi、armeabi-v7a、x86、x86_64)
2018-05-20
kali-linux x86
2017-09-11
gcc编译器 专为windows平台提供下载
2017-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人