- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 Android优化布局的几种方式
优化布局的几种方式1. include/merge布局优化中常常用到include/merge标签,include的含义类似C代码中的include,意思是直接把指定布局片段包含进当前的布局文件。include适用于多个布局文件中存在相同的xml片段,比如说相同的标题栏、相同的广告栏、相同的进度栏等等。如:<include layout="@layout/common_title" />这时必定有个
2017-06-19 17:40:43
913
转载 Java泛型
我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数、小数和字符串,例如: x = 10、y = 10 x = 12.88、y = 129.65 x = "东经180度"、y = "北纬210度"针对不同的数据类型,除了借助方法重载,还可以借助自动装箱和向上转型。我们
2017-06-09 17:57:35
339
转载 Handler避免内存泄漏用法
Android程序经常出现的一个现象是:内存占用越来越大,到最后用户不得不强行关闭程序来释放内存。导致内存越来越大的原因很多,其中最主要的原因之一,就是Handler使用不当导致的内存泄露。 什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对
2017-06-09 16:34:45
330
原创 Activity启动模式
Activity四种启动模式分析:1. standard这个模式是默认的启动模式,即标准模式,在不指定启动模式的前提下,系统默认使用该模式启动Activity,每次启动一个Activity都会重写创建一个新的实例,不管这个实例存不存在,这种模式下,谁启动了该模式的Activity,该Activity就属于启动它的Activity的任务栈中。2. singleTop栈顶复用模式。 singleTop
2017-06-01 11:34:17
267
原创 Java注解和反射
之前在上一篇文章中介绍了Java反射机制的作用和一些用法,这篇文章作为回顾记录一下就Java的注解和反射一起使用的例子:1. Java的注解首先来看一个例子package com.yd.annotationstest;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java
2017-05-31 16:48:31
411
原创 JavaReflect(Java反射机制)
在我们做项目时有时为了优化开发效率通常会使用一些第三方框架,这些框架有网络请求、图片处理、json解析、注解框架等等,尤其在我们想简化代码提高开发效率时就会想到使用第三方的注解框架,比较流行的有butterknife、annotations、xutils等,在我们使用这些框架为我们带来便利的同事,总是想了解一下它们的运行原理和机制,拿butterknife来说,想要写出这样一套框架出来必定要用到一些
2017-05-27 18:01:29
3310
原创 Android手机屏幕坐标定义
通常在做项目的时候我们会写一些动画,比如activity切换的动画,这个时候常见的办法就是在res目录下新建个anim文件,里面写一些xml动画文件。我们在写这些文件时通常会考虑需求,比如activity是怎样切换的,是从左往右还是从上往下,初次写的时候我们经常搞不清android手机屏屏幕坐标是怎么定义的,原点在哪里,X、Y轴又是怎么定义的,如图竖屏时,左上角就是原点,坐标为(0, 0),以原点往
2017-05-25 18:30:46
7933
原创 Android自定义圆形进度条
自定义View是Android进阶的必备技能,只要掌握了自定义view的三个方法,自定义view其实很简单,下面间通过一个示例来说明首先需要在values文件夹下建一个attrs的文件<?xml version="1.0" encoding="utf-8"?><resources> <attr name="titletext" format="string" /> <attr n
2017-05-25 16:42:28
847
转载 Android Material Design之CoordinatorLayout
英文原文:https://guides.codepath.com/android/Handling-Scrolls-with-CoordinatorLayout 这篇文章专门讲解和CoordinatorLayout相关的知识点,这也是Design Support Library中最重要与最难的部分。CoordinatorLayout 实现了多种Material Design中提到的滚动效果。目前这个
2017-05-18 15:30:36
456
转载 Fragment相关
目录:Fragment的生命周期Fragment的静动态使用方法Fragment的通信方案Fragment的常见错误及解决方法getActivity()空指针Fragment重叠异常一、Fragment的生命周期Fragment必须是依存于Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期,他们存在依赖关系。官网这张图很好的说明了俩者的关系:
2017-05-17 18:18:02
370
原创 Android三级缓存
Android性能优化只缓存策略——当手机需要显示数据时,通常的做法就是直接从网络获取加载,这样不仅耗时而且在移动网络下还耗费用户流量,所以不可取。目前缓存机制使用大致流程是,当App需要加载某一张图片时,先去手机内存中去找该图片,如果有,那么直接显示,如果无,则去手机sd卡或者手机外部存储中找该图片,如果有,那么直接显示,如果无,那么此时才去网络下载该图片。这种机制常称为三级缓存策略。三级缓存策略
2017-05-15 16:32:10
473
原创 Java Interface用法
Java interface有多种用法,最常见的就是通过interface传递数据第一种public interface IData { void value(String str);}public class ClassA { public void sendData(IData idata){ idata.value("This is ClassA'valu
2017-05-11 18:15:41
3082
原创 ViewPager
ViewPager是Android提供的视图切换的工具类,继承自ViewGroup,可实现Android页面的广告轮播,首次使用广告引导等。ViewPager是Android V4扩展包中的类,使用时注意 1.viewpager继承自ViewGroup,所以她是个容器,可以自由添加View类 2.需要一个适配器提供数据 3.viewpager常配合fragment使用1.Viewpager适配
2017-05-11 11:31:12
409
转载 Parcel 和 Parcelable
想要在两个activity之间传递对象,那么这个对象必须序列化,Android中序列化一个对象有两种方式,一种是实现Serializable接口,这个非常简单,只需要声明一下就可以了,不痛不痒。但是android中还有一种特有的序列化方法,那就是实现Parcelable接口,使用这种方式来序列化的效率要高于实现Serializable接口。不过Serializable接口实在是太方便了,因此在某些情
2017-05-10 16:21:24
348
转载 自定义动态loading界面——仿饿了么动态加载
链接地址:http://www.see-source.com/androidwidget/list.html?type=7
2016-12-22 15:13:11
1404
原创 android文件读写
公司最近要做一个测试工具,其中要用到文件的读写,因为以前学Java的时候对文件操作这方面写的比较少,正好有此机会也当是练手了。 要求就是把指定的logcat信息拼成字符串然后保存到本地文件,优先保存到外置SD卡,当没有检测到外置SD卡时,保存到本地存储,代码如下private File file = null;private FileOutputStream outputStream = null
2016-05-25 11:05:44
291
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人