![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
-无-怨-无-悔-
这个作者很懒,什么都没留下…
展开
-
Android多媒体
1.音频处理作为多媒体处理的最基本的组成部分,音频处理在移动终端上十分复杂。音频的播放、记录、以及多种场景(如电话、音乐、提示音、录音等)的冲突、并发策略无疑增加了开发的难度。好在Google在设计Android时充分考虑了这些问你,在底层设计了一套围绕AndioFlinger、AudioPolicyManager的音频框架,使应用层的开发者可以忽略不同场景下的并发策略。通过这种方法,转载 2017-12-08 16:44:37 · 532 阅读 · 0 评论 -
Android OOM
Android内存泄漏一、内存溢出如何产生的Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M,有的机器为24M。因此我们所能利用的内存空间是有限的。如果我们的内存占用超过了一定的水平就会出现OutOfMemory的错误。内存溢出的几点原因总结:1、资源释放问题:程序代码的问题,长期保持某些资源(如Context)的引用,造成内存泄露,资源得不到释放转载 2017-11-08 18:14:15 · 277 阅读 · 0 评论 -
Android ANR
1, 你碰到ANR了吗在App使用过程中,你可能遇到过这样的情况: 1.1 何为ANRANR全名Application Not Responding,也就是"应用无响应".当操作在一段时间内系统无法处理时,系统层面会弹出上图那样的ANR对话框.1.2 为什么会产生ANR在Android里, App的响应能力是由Activity Manager和Window转载 2017-11-10 11:46:28 · 596 阅读 · 0 评论 -
Android Window
有时候我们需要在桌面上显示一个类似悬浮窗的东西,这种效果就需要用 Window 来实现,Window 是一个抽象类,表示一个窗口,它的具体实现类是 PhoneWindow,实现位于 WindowManagerService 中。WindowManagerServiceWindowManagerService 就是位于 Framework 层的窗口管理服务,它的职责就是管理系统中的所转载 2017-09-26 16:26:48 · 438 阅读 · 0 评论 -
Android MVP与MVC
一、MVP与MVC介绍先上一个经典的图:C 和 P 的区别先来看一下 MVP 与MVC 差别在哪?简单一眼扫过,就是 C 和P 的差别。1、先看 CC 就是 Controller,控制器。负责从View 读取数据,控制用户输入,并向 Model 发送数据。简单来说,就是起到一个沟通的作用,能很大程度上的解决Model 和 View 的耦合问题转载 2017-11-08 10:42:03 · 375 阅读 · 0 评论 -
Android 自定义View---ToggleButton
一、ViewAndroid所有的控件都是View或者View的子类,它其实表示的就是屏幕上的一块矩形区域,用一个Rect来表示,left,top表示View相对于它的parent View的起点,width,height表示View自己的宽高,通过这4个字段就能确定View在屏幕上的位置,确定位置后就可以开始绘制View的内容了。二、View的绘制过程1)MeasureView会先原创 2017-10-19 12:52:36 · 498 阅读 · 0 评论 -
Android Volley架构分析
Android volley架构分析 我们在开发Android应用时,网络技术是非常普遍的,大多数情况下我们都是使用Http协议,Android系统中主要有两种方式来进行Http的通信,HttpURLConnection和HttpClient。我们在实际编程过程中会发现这两个类用起来还是很复杂的,而Volley就是将其进行适当的封装,使开发者用起来就比较简单。一、Volley例子(原创 2017-09-20 11:59:53 · 382 阅读 · 0 评论 -
Android Application
一、Application Application 类是用来维护应用程序全局状态。你可以提供自己的实现,并在 AndroidManifest.xml文件的 标签中指出他的名字,这将导致在创建应用程序时去实例化你自己的 Application 类。 Android系统会为每个程序运行时创建一个Application类的对象且仅创建一个,所以Application可以说是单例转载 2017-09-26 15:51:00 · 219 阅读 · 0 评论 -
Android ListView中图片的优化
ListView中图片的优化:1、处理图片的方式:如果自定义Item中有涉及到图片等等的,一定要狠狠的处理图片,图片占的内存是ListView项中最恶心的,处理图片的方法大致有以下几种:①、不要直接拿路径就去循环decodeFile();使用Option保存图片大小、不要加载图片到内存去②、拿到的图片一定要经过边界压缩③、在ListView中取图片时也不要直接拿个路径去取图片,转载 2017-09-15 11:35:06 · 504 阅读 · 0 评论 -
Android Activity、Window、View三者之间的关系
一、简述如何将Activity展现在手机上Activity本身是没办法处理显示什么控件(view)的,是通过PhoneWindow进行显示的换句话说:activity就是在造PhoneWindow,显示的那些view都交给了PhoneWindow处理显示1、在Activity创建时调用attach方法:2、attach方法中会调用PolicyManager.makeNewWindo转载 2017-09-07 14:06:03 · 488 阅读 · 1 评论 -
Android AsyncTask
一、异步任务加载网络数据:在Android中提供了一个异步任务的类AsyncTask,简单来说,这个类中的任务是运行在后台线程中的,并可以将结果放到UI线程中进行处理,它定义了三种泛型,分别是Params、Progress和Result,分别表示请求的参数、任务的进度和获得的结果数据。1、使用原因:1)是其中使用了线程池技术,而且其中的方法很容易实现调用2)可以调用相关的方法,在开原创 2017-12-13 15:22:02 · 279 阅读 · 0 评论 -
Android Camera2预览、抓拍、播放、暂停
activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <SurfaceV...原创 2019-03-05 15:35:43 · 3557 阅读 · 0 评论 -
Android的category.LAUNCHER与installLocation设置失效问题
一、Android选择启动页 <activity android:name=".activity.HelloActivity" android:screenOrientation="portrait"> <intent-filter> <action android:nam...原创 2019-07-16 14:29:28 · 740 阅读 · 0 评论 -
SQLite多线程操作数据库
在开发Android的程序的时候sqlite数据库是经常用到的;在多线程访问数据库的时候会出现这样的异常:java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed.或java.lang.IllegalStateException: attem...转载 2019-07-11 17:15:34 · 1166 阅读 · 0 评论 -
Android HandlerThread使用
package com.app;import android.os.Bundle;import android.os.Handler;import android.os.HandlerThread;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.util...转载 2019-07-11 12:14:05 · 428 阅读 · 0 评论 -
Android MediaCodec
Android中可以使用MediaCodec来访问底层的媒体编解码器,可以对媒体进行编/解码。MediaCodec可以处理的数据有以下三种类型:压缩数据、原始音频数据、原始视频数据。这三种类型的数据均可以利用ByteBuffers进行处理,但是对于原始视频数据应提供一个Surface以提高编解码器的性能。Surface直接使用native视频数据缓存,而没有映射或复制它们到ByteBuffer...转载 2017-12-08 17:05:30 · 598 阅读 · 0 评论 -
Android Handler内存泄漏和解决方法
一、Handler内存泄漏原因handler发送的消息在当前handler的消息队列中,如果此时activity finish掉了,那么消息队列的消息依旧会由handler进行处理,若此时handler声明为内部类(非静态内部类),我们知道内部类天然持有外部类的实例引用,那么就会导致activity无法回收,进而导致activity泄露。二、Handler内存泄漏几种情况1、隐式引用...原创 2019-07-10 11:39:09 · 419 阅读 · 0 评论 -
Android Studio 加载JNI与so文件
一、Android Studio里面进行jni源码编译1、CMake编译CMakeLists.txt# For more information about using CMake with Android Studio, read the# documentation: https://d.android.com/studio/projects/add-native-code.h...原创 2019-06-28 17:36:01 · 458 阅读 · 0 评论 -
px、dp、sp、dip、dpi=160
px:即像素,1px代表屏幕上一个物理的像素点;px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同。dip像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这...原创 2019-06-22 10:18:04 · 1127 阅读 · 0 评论 -
Android Studio配置Debug和Release
1、Debug与ReleaseDebug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。build.gradlesi...原创 2019-06-26 10:14:05 · 6681 阅读 · 0 评论 -
Android Camera2预览和实时帧数据获取
1、预览2、角度旋转3、实时帧数据获取ImageReader的参数设置4、实时帧数据格式转换package com.neatech.stface.tools;import android.Manifest;import android.app.Activity;import android.content.Context;import android.content.I...原创 2019-03-08 16:11:13 · 9077 阅读 · 16 评论 -
Android ListView
ListView的工作原理首先来了解一下ListView的工作原理(可参见http://mobile.51cto.com/abased-410889.htm),如图:1、如果你有几千几万甚至更多的选项(item)时,其中只有可见的项目存在内存(内存内存哦,说的优化就是说在内存中的优化!!!)中,其他的在Recycler中2、ListView先请求一个type1视图(getView)然后转载 2017-09-04 17:54:33 · 336 阅读 · 0 评论 -
Android GLSurfaceView
一、SufaceViewSurfaceView从Android 1.0(API level 1)时就有 。它继承自类View,因此它本质上是一个View。但与普通View不同的是,它有自己的Surface。我们知道,一般的Activity包含的多个View会组成View hierachy的树形结构,只有最顶层的DecorView,也就是根结点视图,才是对WMS可见的。这个DecorView转载 2017-09-13 15:51:57 · 608 阅读 · 0 评论 -
Android SurfaceView
一、什么是Surface 简单的说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都要画在Surface的Canvas上(后面有原因解释)。传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行。 在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer转载 2017-09-13 15:09:42 · 327 阅读 · 0 评论 -
Android 操作sqllite数据库
package com.xt.military.video.data;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database原创 2017-01-11 17:06:00 · 364 阅读 · 0 评论 -
Android的gps定位
import android.app.Service;import android.content.Context;import android.content.Intent;import android.location.Location;import android.location.LocationListener;import android.location.LocationM原创 2017-01-07 10:12:04 · 428 阅读 · 0 评论 -
Android横竖屏切换遇到的问题
1.横竖屏切换时,要特别注意生命周期的调用a、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次b、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次 c、设置Activity的android:con原创 2017-01-13 16:43:24 · 2079 阅读 · 0 评论 -
Android的JNI技术
1.Jni层调用java层函数,产生回调2.数组在C/C++层、jni层、java层之间的传递3.C/C++层、jni层、java之间函数的调用与参数的传递4.C++面向对象5.使用JNI_OnLoad package com.example.test1;//javah com.example.test.XTNative 生成jni层的.h文件public clas原创 2017-01-04 21:04:24 · 326 阅读 · 0 评论 -
Android捕获异常,生成文件
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintWriter;import java.io.StringWriter;import java.io.Writer;原创 2017-01-06 15:37:13 · 496 阅读 · 0 评论 -
Android实时抓取日志,生成文件
import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.text.ParseException;import java.text.SimpleDa原创 2017-01-06 15:35:38 · 6840 阅读 · 5 评论 -
Android百度离线地图
版权声明:本文为博主原创文章,未经博主允许不得转载。http://lbsyun.baidu.com/index.php?title=androidsdk(百度地图官网地址),大家可以在官网上下载demon程序,申请自己的key后进行测试我们要清楚自己使用自己要用的离线地图功能,分为两种:一种是直接使用无具体位置信息的地图,这种情况不需要申请key;第二种情况是下载离线地原创 2016-12-18 21:26:03 · 2082 阅读 · 0 评论 -
Android的Proxy-Stub设计模式
package com.example.test1;public interface IPlayer{void play(); void stop(); String getStatus();} package com.example.test1;import android.os.IBinder;import android.os.Parcel;/**原创 2017-01-04 21:09:33 · 720 阅读 · 0 评论 -
Android实现Canny算法
package com.example.yanhuang.canny;import android.content.Context;import android.graphics.Bitmap;import android.widget.ImageView;import android.graphics.Bitmap.Config; import android.gr原创 2017-01-03 21:16:17 · 630 阅读 · 0 评论 -
Android 回调
回调机制在 Android 监听用户界面操作中的体现本文讨论以下两个内容:1. 回调函数2. 回调机制在 Android框架 监听用户界面操作中的作用一 回调函数回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的转载 2016-12-22 21:38:37 · 215 阅读 · 0 评论 -
Android camera、surfaceview、mediarecorder播放、抓拍与录制、前后置切换
利用手机自带照相camera,显示在surfaceview上,然后就进行抓怕和录制一、在surfaceview上显示与拍照、录制,需要考虑以下几点 1、参数设置顺序(特别是录制时,如果参数设置的顺序有误,无法正常录制) 2、手机支持的预览、拍照、录制像素设置(图像模糊、录像花屏) 3、其他参数设置必须符合当前手机 4、摄像原创 2016-12-20 21:50:24 · 1493 阅读 · 1 评论 -
Android wifi搜索与连接
package com.wifi.utils;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.net.wifi.ScanResult;import android.net.wifi.WifiConfiguration;import andro原创 2017-02-24 10:44:35 · 2081 阅读 · 0 评论 -
Android天气预报软件
http://weather.51wnl.com/weatherinfo/GetMoreWeather?cityCode=101250101&weatherType=0{"weatherinfo":{"city":"长沙","city_en":"","cityid":"101250101","date":"","date_y":"2017年03月06日","img_title_single":原创 2017-03-06 15:36:55 · 3341 阅读 · 0 评论 -
Android Fragment
1、Fragment概述Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把他看成一个小型的Activity,又称Activity片段!想想,如果一个很大的界面,我们 就一个布局,写起界面来会有多麻烦,而且如果组件多的话是管理起来转载 2017-07-29 11:51:40 · 433 阅读 · 0 评论 -
Android Intent
一、Intent简介 Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。activity、service和broadcast receiver之间是通过Intent进行通信的,而另外一个组件Content原创 2017-07-10 11:43:59 · 223 阅读 · 0 评论 -
Android BroadcastReceiver
一、BroadcastReceive定义BroadcastReceiver的作用主要是用来监听系统或者应用发出的广播信息,然后根据广播信息作为相应的逻辑处理;说通俗点其实上就是一种全局监听器,要来实现系统中不同组件之间的通信。有时候也会用来作为传输少量而且发送频率低的数据,但是如果数据的发送频率比较高或者数量比较大就不建议用广播接收者来接收了,因为这样的效率很不好,因为BroadcastRec原创 2017-06-26 14:24:09 · 272 阅读 · 0 评论