自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android Q深色模式源码解析

关注我的简书个人博客原文链接 一、简介鉴于Android Q 适配如火如荼的情况,我们今天也来讲讲Android Q全新的深色主题背景。不过该项功能,魅族已经推出两年多了,只不过名字我们叫夜间模式,也可见Google有点反借鉴国内厂商的意思。附上两张效果图:闲话到此为止,我们还是来说说Android Q深色模式的适配方式跟实现原理吧。二、如何开启从文档上我们可以可知,打开深色模式有三...

2019-11-05 16:57:12 5563

原创 Java中List的排序

第一种方法,就是list中对象实现Comparable接口,代码如下:public class Person implements Comparable { private String name; private Integer order; /** * @return the name */ public String getName

2016-03-21 16:55:59 316

原创 Android 调试之打印堆栈

在Android调试过程中经常会出现程序出现的结果不是我们预期的结果,那就需要加Log打印调试,看调用过程是否正确,此时就需要打印程序的调用栈,特别是Android代码相当庞大,打印堆栈更有利于我们分析问题,下面就记录下平时用到不退出程序打印堆栈的方法。方法如下:1.在Activity的类中创建一个方法ThrowException,在onCreate中调用此方法,看打印出什么

2016-03-01 19:46:02 875

原创 从零快速搭建Android项目

好了,本文只作为Android开发工作的一个记录。记录项目从零开始要处理的都有哪些工作。废话不多说,直接进入正题1.概要设计1.1 模块划分根据需求和原型设计,可能的模块划分如下:注册登录模块用户模块帖子模块媒体(图片+视频)模块相册模块……

2016-01-31 23:39:35 589

原创 C++指针的概念

指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子:  例一:  int *ptr; char *ptr; int **ptr; in

2016-01-26 16:54:51 425

原创 C++中引用(&)的用法

引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅 是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖 引玉的作用。  一、引用简介  引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完

2016-01-26 16:04:18 651

原创 Android代码优化Android Support Annotations

如果你还没有听说过Android Support Annotations 函数库,你将错过一个整洁的新软件包,它有助于你捕获程序中的bugs。该函数库包含了许多的Java注解,用于帮助Android Studio检测代码中可能存在的错误,并报告给开发者。注解类型有很多种,本文将只介绍其中几种,请一定要自己阅读文档以了解本文未介绍的其他注解类型。@NONN

2015-07-23 23:03:13 672

转载 断点调试知多少

大家肯定都用过Eclipse的调试的功能,在调试的过程中自然也无法避免要使用断点(breakpoint),但不知是否对Eclipse中各类断点都有所了解。本篇图文并茂地介绍了Eclipse中全部类型的断点,及其设置,希望对大家有所帮助。1. 示例程序BreakpointDemo是一个臆造的应用程序,只是为了便于讲解Eclipse中各类断点的使用罢了。其代码如下图所示,Break

2015-07-20 11:08:53 526

原创 MVP模式的优缺点

随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生。

2015-06-29 11:10:39 14851

转载 JVM加载class文件的原理机制

JVM加载class文件的原理机制1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中 2.java中的类大致分为三种:     1.系统类     2.扩展类     3.由程序员自定义的类 3.类装载方式,有两种     1.隐式装载, 程序在运行过程中当碰到通

2015-05-03 18:27:48 487

原创 Android代码优化技术

1.Java内存控制   对于字符串操作而言如果需要连加这样的操作建议使用StringBuilder,经过调试不难发现如果你的字符串每次连加,使用String需要的内存开销会远大于StringBuilder,然后Android手机常规的运行内存大约在128MB左右,对于运行多任务就需要考虑了,Android开发网提示因为Java有GC不需要手动释放那么分配的时候就要格外的小心,频繁的GC操作仍然是

2015-05-03 18:13:07 438

转载 什么是死锁?如何避免死锁?

所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。虽然进程在运行过程中,可能发生死锁,但死锁的发生也

2015-05-03 17:42:18 584

原创 Java的集合类

集合类存放于java.util包中。集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。集合类型主要有3种:set(集)、list(列表)和map(映射)。(1)集集(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。对集中成员的访问和操作是通过集中对象的

2015-05-03 17:08:33 426

原创 Android中Invalidate和postInvalidate和requestLayout的区别

requestLayout:当view本身已经确定不再适合现有的区域时,该View本身调用这个方法要求Parent View重新调用它的onMeasure onLayout方法来重新设定自己的位置,特别的当Layout parameter已经发生变化 时,并且他的值还没有应用到view上,特别适合调用该方法。invalidate:view本身调用迫使view重画,是在ui线程中调用post

2015-05-03 15:04:53 503

Android 仿 窗帘效果 和 登录界面拖动效果

Android 仿 顶部栏向下拉窗帘效果 和 登录界面向上拖动效果

2014-07-03

listview获取网络图片缓存优化

在listview里单个item项目里获取网络图片,并做了缓存优化。

2014-07-03

scorll里放listview

解决scorllview里放listview时只显示一行半的问题,以及划动不了的问题。

2014-07-03

Listview分页加载数据

Listview动态分页加载数据,有刷新效果,只要再加以处理便可。

2014-07-03

listview 的各种动画效果

listview 的各种动画效果,可以帮助各位Android初学者实现各种动画效果

2014-07-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除