Android 线程池的类型、区别以及为何要用线程池

每个 Android 应用进程在创建时,会同时创建一个线程,我们称之为主线程,负责更新 UI 界面以及和处理用户之间的交互,因此,在 Android 中,我们又称之为 UI 线程。一个进程中 UI 线程只有一个,为了不造成界面卡顿、提高用户体验,我们势必要将一些耗时操作交由子线程来执行。使用子线程的方式主要分两种: 直接使用 Thread 和 Runnable 等创建子并使用线程 使用线程池创建
阅读本文

UWP:使用Composition实现类似安卓的水波纹Ripple效果

UWP:使用Composition实现类似安卓的水波纹Ripple效果先放效果图:首先,建立一个RippleHelper.cs文件,然后建立以下附加属性:IsFillEnable:是否扩大到整个控件RippleDuration:持续时间RippleRadius:不扩大到整个控件时的最大半径RippleColor:波纹的颜色 public static bool GetIsFillEn
阅读本文

[Android Pro] 静态分析Android程序——smali文件解析

cp : http://www.jb51.net/softjc/119036.html静态分析Android程序的两种方法: 一、阅读反编译生成的Dalvik字节码。 (1)解压apk包unzip xxx.apk1(2)用baksmali进行对解压出来的dex文件反编译java -jar baksmali-2.0.3.jar classes.dex12、使用IDA Pro分析dex文件二、阅读反编
阅读本文

android之使用百度地图(1)

Activity_main.xml 1 <?xml version=“1.0“ encoding=“utf-8“?> 2 <LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android“ 3 android:orientation=“vertical“ 4 android:layout_width
阅读本文

Android ------ 美团的Lint代码检查实践

概述Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量。除了Android原生提供的几百个Lint规则,还可以开发自定义Lint规则以满足实际需要。为什么要使用Lint在美团外卖Android App的迭代过程中,线上问题频繁发生。开发时很容易写出一些问题代码,例如Serializable的使用:实现了Serializab
阅读本文

Android开发随笔(一)

Android Studio模拟器中运行apk文件最近在做安卓相机开发,遇到一些问题,记录一下。首先是Android Studio模拟器运行apk文件为了调试代码修改后生成的apk文件,需要把原来版本的app卸载掉。此时重新启动模拟器是不能自动加载运行新的apk文件的,这时候需要手动将apk文件加载到模拟器相关目录下。1.先找到安装sdk的目录,有一个名为“platform-tools”的子文件夹
阅读本文

android------adb命令 pull或push手机和电脑文件交互

先说一下adb命令配置,如果遇到adb不是内部或外部命令,也不是可运行的程序或批量文件。配置下环境变量1、adb不是内部或外部命令,也不是可运行的程序或批量文件。解决办法:在我的电脑-属性-高级计算机配置-环境变量,系统变量找到path,把sdk的platform-tools添加进去就可以了。D:AndroidSDKplatform-tools 2、用命令行把手机上的文件拷贝到电脑上Wind
阅读本文

新体能评定软件开发总结(一)

加入新特性:对话框,NumberPicker,专项训练入口界面,新兵、文职人员专栏,自动更新。总结问题:startActivityForResult(Intent intent,int requestCode)中requestCode要是自然数,否则返回后不会调用onActivityResult;自定义class对象有自己单独的this,而Toast需要的this是Activity的this;Ac
阅读本文

Android中给layout下的布局文件添加动画效果

先上实现效果:  给ListView添加文本内容,文本内容添加进ListView的过程中增加动画效果 步骤一:先定义好一个动画文件,把要实现的动画效果写好。1、在res文件夹下创建anim文件夹2、在anim文件夹中添加一个fd.xml(文件名自定义)文件fd.xml内容: <!--组合动画 duration:组合动画发生的的间隔时间 --> <set android:duration=“1000
阅读本文

android 性能优化 -- 启动过程 冷启动 热启动

一、应用的启动方式  通常来说,启动方式分为两种:冷启动和热启动。  1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。  2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用
阅读本文

Android 多线程之HandlerThread 完全详解

关联文章:   之前对线程也写过几篇文章,不过倒是没有针对android,因为java与android在线程方面大部分还是相同,不过本篇我们要介绍的是android的专属类HandlerThread,因为HandlerThread在设置思想上还是挺值得我们学习的,那么我们下面来就了解它吧,我们先来看看HandlerThread有那些特点:HandlerThread本质上是一个线程类,它继承了
阅读本文

Android中的elevation

在安卓5.0之前是使用二维坐标来记录屏幕里的点,我们常用的width和height就是用来表示屏幕的z,y坐标。5.0之后开始加入三维坐标,除了x,y还另外增加了z来表示深度,也就是立体距离,这个z在安卓中用elevation   用两个有背景色的文本框来测试elevation的效果:未使用elevation时的源代码:  1 <FrameLayout xmlns:android=“http:
阅读本文

android adb 源码框架分析(2 角色)

角色l  服务服务是提供特定功能的实体,接收请求,返回应答是服务直接最表现。大部分服务经过转换表现为文件(包括套接字)句柄。服务存在于Adb Server、Adb Daemon中,也可能存在于adb体系以外的某个进程中。l  客户端客户端代表用户使用服务功能。客户端通过一系列数据转发连接与服务建立逻辑连接,方式请求,接收应答。l  报文(apacket)客户端与服务之间的通信数据没有特殊格式,但数
阅读本文

Android Weekly Notes Issue #288

Android Weekly Issue #288December 17th, 2017Android Weekly Issue #288本期内容主要包括介绍Kotlin DSL使用kotlin来写gradle,如何组织Session,以及MVP如何通过LifeCycler来简化,如何让多个presenter之间相互交互. 特别推荐的有如何使用kotlin优化多方法的接口,有多达四种方法,是学习k
阅读本文

android注册登录界面

android的注册登录界面,主要写一下用到的东西。首先,后台用jsp写,这里的话用到的返回数据为json,可以用一种很简单的方式<%@ page language=“java“ contentType=“text/json; charset=UTF-8“ pageEncoding=“UTF-8“ import=“java.sql.*,java.io.*,java.util.*“ %>这里面修改
阅读本文

android sdk manager更新地址

参考:http://www.oschina.net/question/1399261_195245android sdk 用久了,想更新到最新的SDK包:大连东软信息学院镜像服务器地址:- http://mirrors.neusoft.edu.cn 端口:80北京化工大学镜像服务器地址:- IPv4: http://ubuntu.buct.edu.cn/ 端口:80- IPv4: http://u
阅读本文

Android 异步加载神器Loader全解析

在之前呢,我们经常会有这种需求,比如在某个activity,或者某个fragment里面,我们需要查找某个数据源,并且显示出来,当数据源自己更新的时候,界面也要及时响应。当然咯,查找数据这个过程可能很短,但是也可能很漫长,为了避免anr,我们都是开启一个子线程去查找,然后通过handler来更新我们的ui界面。但是,考虑到activity和fragment 复杂的生命周期,上述的方法 使用起来会很
阅读本文

Android 手势识别——单击/双击

为什么需要手势识别?      手势对于我们的app有很多的地方都在使用,比如右滑关闭界面等。手势控制分为触发动作(Touch Mechanics,用户手指在屏幕上如何动作)和触发行为(Touch Activities,界面上特定动作在特定情境下引发的结果)。这是因为同样的触发动作(如单次触击)在不同情境下可能会带来不同的结果(如轻触,取消,开启/关闭指示),同样单次触发行为(如放大)可能是由多种
阅读本文

Android Log类基本用法

Log类介绍:API for sending log output.Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e() methods.The order in terms of verbosity, from least to most is ERROR, WARN, INFO, DEBUG, VERBOSE.Verbos
阅读本文

Android Studio设置字体和主题

步骤:File >> settings >> Appearance & Behavior >> Appearance          >> 来到修改界面   如下图所示:(Theme 主题修改 ;Name 字体 ;size 字号大小;其他的效果自己设置就可以看到,下图是其中的一种效果)2、修改代码区域的字体,字号等设置步骤:File >> settings >> Editor >> Colors
阅读本文