自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android view刷新的两种方法

控件的刷新有两种方法:invalidate();requestLayout();这两种方法,这个都是继承父类View 的方法。invalidate();这个方法是说 当前控件重新调用draw() 这个方法 重新绘制一遍,只会改变控件的样式,状态等requestLayout(); 这个方法 就是把当前控件的 onMeasure(),onLayout(),onDraw() 方法都调用一遍,使控件重新计算大小,位置,以及重新绘制,就相当于重新加载这个控件的所有状态...

2021-05-23 12:45:44 4314 1

原创 从Uri直接读取图片流,避免路径转换的适配问题

package com.dommy.qrcode.util;import android.content.ContentResolver;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.util.Log;import java.io.IOException;im.

2021-05-14 14:26:46 395 1

原创 Android面试题汇总(即时更新)

当前项目中用了哪些技术(自行处理解决)子线程中与UI线程通讯通过handler传输,创建Handler,在子线程中创建Handler,需要Looper对象如果不刷新UI的话可以调用Looper.prepare(),最后再调用Looper.loop();如果刷新UI那么需要获取主线程Looper对象,Looper.getMainLooper();AsyncTask的使用android中子线程和主线程通讯需要使用到Handler,而在handler中进行耗时操作的话就需要创建线程,AsyncTa

2021-04-17 19:30:57 180

原创 Android四大组件之BroadcastReceiver---普通广播、有序广播、广播注册以及注意事项

BroadcastReceiver两种发送方式广播BroadcastReceiver被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”。普通广播是完全异步的,可以在同一时刻(逻辑上)被所有接收者接收到,消息传递的效率比较高,但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播;有序广播是按照接收者声明的优先级别(声明在intent-filter元素的android:priority属性中,

2020-08-02 18:45:56 839

原创 Android四大组件之Service---本地服务、远程服务和IntentService

本地服务(LocalService)调用者和service在同一个进程中,service运行在主进程的main线程中。所以不能进行耗时操作,可以采用在service里面创建一个Thread来执行任务。service影响的是进程的生命周期,讨论与Thread的区别没有意义。任何 Activity 都可以控制同一 Service,而系统也只会创建一个对应 Service 的实例。两种启动方式第一种启动方式:通过start方式开启服务.使用service的步骤:1,定义一个类继承servi

2020-08-02 16:24:09 1095

原创 彻底分清Activity的启动模式,明白什么情况下应该使用哪种模式

Activity的四种启动模式Activity一共有四种启动模式,分别为standard、singleTop、singleTask、singleInstance。这四种模式我们可以在AndroidManifest.xml清单文件的<Activity节点下通过android:launchMode来进行配置Activity的任务栈分析启动模式之前,需要清楚Activity的任务栈是什么意思。栈可以看成是一个队列,采用的是先入后出的原则,简单的可以把栈想象成一个可以压入子弹弹夹,每个任务

2020-07-31 19:58:14 309

原创 Android四大组件之Activity---生命周期那些你可能不知道的事

Activity的简单生命周期流程为onCreate()→onStart()→onResume()→onPause()→onStop()→onDestroy();onCreate()【一般Activity首次被创建时才会调用,启动后退出调用onDestroy()后或被异常销毁时再次启动才会重新调用onCreate()】onStart()【不可见状态】onResume()【运行状态】onPause()【暂停状态】onStop()【停滞状态】onDestroy()【调用了此方法后,A..

2020-07-31 17:38:58 1439 1

转载 Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制

今天这篇文章主要分析的是Android的事件分发机制,采用例子加源码的方式让大家深刻的理解Android事件分发的具体情况,虽然网上很多Android的事件分发的文章,有些还写的不错,但是我还是决定写这篇文章,用我自己的思维方式来帮助大家理解Android事件分发,Android事件分发到底有多重要呢?相信很多Android开发者都明白吧,这个我就不介绍了,我也写了很多篇文章里面涉及到Androi

2015-07-17 21:26:45 308

转载 Android:30分钟弄明白Touch事件分发机制

Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。ViewGroup的相关事件有三个:onInterceptT

2015-07-17 21:24:46 319

转载 Android之ListView原理学习与优化总结

利用ViewHolder来优化ListView数据加载,仅仅就此一条吗?其实不是的,首先,想要优化ListView就得先了解ListView加载数据原理,这是前提,在这个地方先做一些简单的补充,大家一定仔细看下,保证会有收获的。在整理前几篇文章的时候有朋友提出写一下ListView的性能优化方面的东西,这个问题也是在面试过程中被别人问到的…..今天就借此机会来整理下

2015-07-17 21:20:13 265

转载 Android动画分析

在Android系统中也能经常见到动画,那么如何实现动画效果呢?本文就来为大家介绍动画的实现方式。       Android中动画的实现分两种方式,一种方式是补间动画Tween Animation,就是说你定义一个开始和结束,中间的部分由程序运算得到。另一种叫逐帧动画Frame Animation,就是说一帧一帧的连起来播放就变成了动画。有点Flash基础的同学理解起来会很容易。接下来我

2015-07-17 20:58:50 380

转载 Android Service 两种启动方式的区别

最近在debug android service destory的bug,网上找了service相关的知识,startservice和bindservice都可以启动service,知道这两种方式的区别还是很有作用的。Android Service 生命周期可以促使移动设备的创新,让用户体验到最优越的移动服务,只有broadcast receivers执行此方法的时候才是激活的,当 o

2015-07-17 20:28:56 499

转载 Android 编程下两种方式注册广播的区别

常驻型广播常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接收到,它的注册方式就是在你应用程序的AndroidManifast.xml 中进行注册,这种注册方式通常又被称作静态注册。这种方式可以理解为通过清单文件注册的广播是交给操作系统去处理的。示例代码如下: 订阅开机结束广播 -->receiver android:name=".receiver.B

2015-07-17 20:21:54 259

转载 Activity四种启动模式 及 Intent Flags 与 栈 的关联分析

在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享内存的方式实现的。    Intent主要用于2种情景下:(1)发起意图  (2)广播    它的属性有:ComponentName,action,data,category,extras,flags等,通常情况下,进行Intent的

2015-07-17 20:17:13 290

转载 Android实现网络多线程断点续传下载

本示例介绍在Android平台下通过HTTP协议实现断点续传下载。我们编写的是Andorid的HTTP协议多线程断点下载应用程序。直接使用单线程下载HTTP文件对我们来说是一件非常简单的事。那么,多线程断点需要什么功能?1.多线程下载,2.支持断点。 使用多线程的好处:使用多线程下载会提升文件下载的速度。那么多线程下载文件的过程是:  

2015-07-17 19:49:49 370

转载 android中的多线程编程及消息机制

应用开发中,经常会遇到需要多线程技术的时候,比如UI显示和数据处理分开。在实际应用中经常会遇到这种场景,我们需要新开一个线程来监听数据状态(数据状态的改变,接收数据,发送数据等等),当发现数据状态改变时通知主线程(通过消息机制发送消息到主线程),主线程接收到通知之后进行处理(自定义消息处理接口)。具体实现如下:准备线程的创建和消息的处理,这里需要用到android里面的

2015-07-17 17:50:50 271

转载 Java 多线程间的通信——wait及notify方法

线程间的相互作用  线程间的相互作用:线程之间需要一些协调通信,来共同完成一件任务。  Object类中相关的方法有两个notify方法和三个wait方法  因为wait和notify方法定义在Object类中,因此会被所有的类所继承。  这些方法都是final的,即它们都是不能被重写的,不能通过子类覆写去改变它们的行为。 wait()方法 

2015-07-17 17:48:37 282

原创 对于java 集合的一些理解

List、Set 继承自 Collection 存储引用类型 且只能一个一个存储// ----------------------ArrayList LinkedList Vector 都是继承自List  ArrayList LinkedList初始化为10 扩容后为1.5倍 Vector 为2倍ArrayList 底层采用的数据结构为数组存储元素,因为数

2015-07-17 17:37:31 539

转载 详细解析Java中抽象类和接口的区别

在Java语言中,abstract class 和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之

2015-07-17 17:05:55 219

jadx-gui.exe

包含d-gui的所有功能,并且是比jd-gui更好用的反编看代码工具,中文操作界面,一用就会的神器。

2020-07-31

空空如也

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

TA关注的人

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