自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老杨的一天

生命不止,代码不息。

  • 博客(41)
  • 资源 (7)
  • 收藏
  • 关注

原创 Android P 非SDK限制 源码分析

官方说明从Android 9(API级别28)开始,该平台限制您的应用可以使用哪些非SDK接口。 只要应用程序引用非SDK接口或尝试使用反射或JNI获取其句柄,这些限制就适用。 这些限制旨在帮助改善用户和开发人员体验,降低用户崩溃的风险以及开发人员的紧急部署。一般来说,公共SDK接口是在Android框架包索引中记录的那些接口。 非SDK接口的处理是API抽象出来的实现细节,因此这些接口如有更...

2019-03-14 17:58:30 291

原创 Android优化笔记(三)——内存篇

1.内存优化的意义(1)减少因频繁GC引起的卡顿(2)避免出现OOM现象(3)减小内存占用,提高应用后台的存活率(4)减少异常发生,减少代码逻辑隐患2.内存分析工具(1)Memory Monitor,android studio自带, 3.1已换成Android Profiler,可查看一段时间内具体的内存占用。(2)Heap Viewer,可以查看不同数据类型在内存中的占用情况。...

2019-01-24 11:17:13 227

原创 Android优化笔记(二)——渲染篇(优化)

UI过度绘制过度绘制是指屏幕上的某个像素点在同一帧的时间内绘制了多次。 1.调试GPU过度绘制选项检测过度绘制可以借助开发者选项里自带的调试GPU过度绘制选项。 1.原色 – 没有被过度绘制 – 绘制了一次。 2.蓝色 – 1次过度绘制 – 绘制了两次。 3.绿色 – 2次过度绘制 – 绘制了三次。 4.粉色 – 3次过度绘制 – 绘制了四次。 5.红色 – 4次...

2018-05-29 17:56:11 505

原创 Android优化笔记(一)——渲染篇(原理)

显示机制和刷新机制 Android的显示系统是一个典型的显示系统,它由CPU,GPU,Display组成,CPU负责计算数据,把计算好数据交给GPU,GPU会对图形数据进行渲染,渲染好后放到buffer里存起来,然后Display负责把buffer里的数据呈现到屏幕上。对于 Android 而言,第一个步骤:CPU 计算屏幕数据指的也就是 View 树的绘制过程,也就是 Activity...

2018-05-23 17:07:40 679

转载 码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清的区别

GOP/ 码流 /码率 / 比特率 / 帧速率 / 分辨率GOP(Group of picture)       关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用 1 个关键帧。增加关键帧个数可改善质量,但是同时增加带宽和网络负载。         需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景

2017-08-18 13:56:53 830

原创 android 视频编辑框架(分割,裁剪,旋转,合并,添加logo,背景音乐等等)

EpMediaAndroid上基于FFmpeg开发的视频处理框架,简单易用,体积小,帮助使用者快速实现视频处理功能。包含以下功能:剪辑,裁剪,旋转,镜像,合并,分离,变速,添加LOGO,添加滤镜,添加背景音乐。github地址:https://github.com/yangjie10930/EpMedia使用方法:build.gradle里添加:allprojects { repositori

2017-06-26 14:23:13 19530 49

原创 Android ffmpeg调试信息打印在logcat里

移植ffmpeg到android上,由于无法查看调试信息而无法分析错误,特此记录下如何打印ffmpeg的信息至logcat里。1.编写android_log.h文件#include static int use_log_report = 0;#define FF_LOG_TAG "FFmpeg_VideoTest"#define FF_LOG_UNKNOWN

2017-02-23 10:40:42 2976

原创 Android 使用mp4parser进行视频的分割与合并

mp4parser 是一个优秀的视频处理框架,下面就教大家使用mp4parser在android上进行视频的分割与合并。Github:https://github.com/sannies/mp4parser\Gradle:dependencies { compile 'com.googlecode.mp4parser:isoparser:1.1.21'}

2016-12-26 15:16:12 12601 13

原创 【Scala】实现一个求平方根的算法

实现思路:采用牛顿迭代法,设y为x平方根的猜测值。此时如果(y+x/y)/2-y的绝对值小于一个足够小的浮点数时,y就约等于x的平方根,此时y足够接近x的平方根;如果不是,则用(y+x/y)/2作为新的猜测值,用递归再次进行计算。代码:(define abs(lambda(g)(if(< g 0) (- 0 g) g)))(define asq(lambda(x y)(if(>

2016-12-26 10:39:09 6639 1

原创 算法速查表

算法速查表

2016-11-18 10:51:07 498

原创 Android Retrofit使用指南,让网络请求更简单。

Retrofit与okhttp都是Square公司的出品,Retrofit是对okhttp做了一层封装,只要简单的配置,就可以是用Retrofit。github地址:https://github.com/square/retrofitGradle依赖:compile 'com.squareup.retrofit2:retrofit:2.1.0'注

2016-08-31 14:16:38 1244

转载 Android学习资料整理

一、RxJava1、教你写响应式框架 2、学习 RxJava 操作符的 APP 3、给 Android 开发者的 RxJava 详解—–扔物线 4、RxJava从零开始详解二、android插件补丁1、Android热补丁动态修复技术系列 2、Android 利用 APT 技术在编译期生成代码 3、Android中的动态加载机制 4、掌阅 Andro

2016-08-31 11:32:06 363

原创 解决6.0以上ScrollView嵌套RecyclerView能同时滑动的问题。

解决各个版本Scrollview嵌套Recycleview 滑动冲突的问题.

2016-07-01 16:14:17 6606 2

原创 android获取控件宽高为0的原因

很多时候我们想获取控件的宽高,但如果调用getWidth()和getHeigth(),取到的结果是0。这是因为我们执行方法时,View的绘制还未完成所以取到的宽高都是0。这时我们可以用ViewTreeObserver来监听View的绘制完成,此时再取即可获取控件的宽高,代码如下: ViewTreeObserver vto2 = mView.getV

2016-06-21 09:15:05 2420

转载 框架模式MVP在Android中的使用

前一篇文章中学习了MVC框架模式在Android中的使用,不了解什么是MVC框架模式的亲戳这里 框架模式 MVC 在Android中的使用。其实谷歌Android开发团队是鼓励开发者利用MVC框架模式开发项目的,我们平时写代码也或多或少的在使用MVC框架模式开发项目,比如说谷歌自己退出来的Volley网络请求框架就是遵循MVC框架的。我们可以理解为Volley框架是MVC当中的模型,也就是网络数据

2016-02-17 09:26:58 977

转载 框架模式 MVC 在Android中的使用

算来学习Android开发已有2年的历史了,在这2年的学习当中,基本掌握了Android的基础知识。越到后面的学习越感觉困难,一来是自认为android没啥可学的了(自认为的,其实还有很多知识科学),二来网络上的很多框架已经帮我们做了太多的事情了,我们只需要画画UI就可以了,感觉Android开发没有太多的技术含金量。最近闲来无事,开始总结之前学过的知识点,想着是否应该学点其他的东西呢?总不能局限

2016-02-17 09:24:01 3086

原创 android 开源项目GuillotineMenu,酷炫的铡刀菜单

开源项目GuillotineMenu使用指南先上效果图:IDE使用的是Android studio.首先下载GuillotineMenu项目的library引用到项目中,下载地址:http://download.csdn.net/detail/u012027644/8840527guillotine.xml:这个XML是菜单的布局<

2015-06-26 10:03:02 1749 1

原创 android 实现加载动画对话框

先来两张效果图      自定义对话框:public class LoadingProgressDialog extends ProgressDialog { private AnimationDrawable mAnimation; private Context mContext; private ImageView mImageView; priva

2015-06-24 15:53:48 3167

转载 volley获取网络图片的一些方法

1. ImageRequest的用法前面我们已经学习过了StringRequest和JsonRequest的用法,并且总结出了它们的用法都是非常类似的,基本就是进行以下三步操作即可:1. 创建一个RequestQueue对象。2. 创建一个Request对象。3. 将Request对象添加到RequestQueue里面。其中,StringRequ

2015-05-27 15:06:32 1018

原创 Android 自动循环滚动图片(广告)附带导航小圆点

用viewpage实现了滚动图片,自动循环的效果,附带导航的小圆点

2015-05-27 13:25:24 4853 3

原创 Android网络请求开源框架Volley快速使用指南(2)——异步获取图片

直接上源码: /** * 利用Volley异步加载图片 * * 注意方法参数: * getImage(Context context,String imageUrl,ImageView mImageView) * 第一个参数:上下文 * 第二个参数:图片地址 * 第三个参数:要加载图片的ImageView

2015-05-15 09:26:41 921

原创 android常用的开源项目推荐

推荐几个好用的开源项目

2015-05-13 15:24:50 982

原创 android拍照,并获取压缩后的图片。

1.设置要保存图片的路径的方法 private String getPhotopath(int type) { // 照片全路径 String fileName = ""; // 文件夹路径 String pathUrl = Environment.getExternalStorageDirectory()+"/myimag

2015-05-08 11:48:17 2295

转载 关于Bitmap的内存优化

在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容1) 要及时回收Bitmap的内存Bitmap类有一个方法recycle(),从方法名可以看出意思是回

2015-05-08 09:12:12 764

原创 SQL SERVER自动提示插件

下载后安装在任意目录即可,好用~支持SQL Server2000,2005,2008,以及Visual Studio 2010,2012。下载地址:http://download.csdn.net/detail/u012027644/8637607

2015-04-27 15:56:04 6708

转载 TextView四周边框和单边边框

设置四周边框http://schemas.android.com/apk/res/android">       只设置底部边框http://schemas.android.com/apk/res/android">

2015-04-27 13:31:47 2253

原创 android studio 快捷键大全

----常用快捷键  1.Ctrl+E,可以显示最近编辑的文件列表  2.Shift+Click可以关闭文件  3.Ctrl+[或]可以跳到大括号的开头结尾  4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方  5.Ctrl+F12,可以显示当前文件的结构  6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择

2015-04-24 15:25:41 381

转载 Android UI 优化 使用<include/>和 <merge />标签

使用 标签来重用layout代码如果在一个项目中需要用到相同的布局设计,可以通过 标签来重用layout代码,该标签在android开发文档中没有相关的介绍。在android主屏程序中 用到了这个标签:    <include android:id="@+id/cell2" layout="@layout/workspace_screen" />  这样可以多次引用一个

2015-04-24 10:38:13 430

原创 SQLServer查看一个库里所有表的数据量

SELECT a.name,b.rows FROM sysobjects aINNER JOIN sysindexes b ON a.id=b.id WHERE b.indid IN(0,1) AND a.Type='u'ORDER BY a.name

2015-04-20 15:03:45 11740

转载 四种方案解决ScrollView嵌套ListView问题

以下文章转自@安卓泡面在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。在这里我将会从使用ScrollView嵌套ListView结构的原因、这个结构碰到的问题、几种解决方案和优缺点比较,这4个方面来为大家阐述、分析、总结。实际上不光是ListView,其他继承自AbsListVie

2015-04-13 15:01:28 447

原创 Android网络请求开源框架Volley快速使用指南(1)——发起Get和Post请求

1.下载编译好的jar包http://download.csdn.net/detail/u012027644/85478252.get请求RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext()); StringRequest stringRequest = new StringRequest(

2015-03-30 17:25:49 709

转载 获取android 设备信息

首先是获取设备型号、设备SDK版本以及设备的系统版本信息:String device_model = Build.MODEL; // 设备型号   String version_sdk = Build.VERSION.SDK; // 设备SDK版本   String version_release = Build.VERSION.RELEASE; // 设备的系统版本     

2015-03-30 09:54:12 503

原创 ViewPager里Fragment的生命周期

一个ACTIVITY中包含3个Fragment,做成可切换的标签页,生命周期如下。三个Fragment从左到右依次是frist,second,thrid打开Activity03-24 13:15:51.622: V/first(3844): +onAttach+03-24 13:15:51.622: V/first(3844): +onCreate+03-24 13:1

2015-03-24 13:29:31 529

原创 开源项目SlidingMenu简单使用指南

一.简介SlidingMenu能很方便的实现侧滑菜单栏,很多有名的软件都是用这种效果。如Evernote、Google+、Foursquare等,国内的QQ,豌豆夹,人人,360手机助手等都使用SlidingMenu的界面方案。二.准备工作1.下载开源项目SlidingMenu,地址:https://github.com/jfeinstein10/SlidingMenu2.下载

2015-03-24 09:16:13 529

原创 Fragment实现Tab页切换,滑动和点击都可切换。

1.TAB标题栏,top1.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="60dp" android:background="#eee"

2015-03-20 16:41:15 727

原创 android 基础知识 字体加粗

1.代码方式TextView tv = (TextView)findViewById(R.id.tv); TextPaint tp = tv.getPaint(); tp.setFakeBoldText(true); 2.XML里修改android:textStyle="bold"

2015-03-20 16:24:22 405

转载 android权限大全

访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置

2015-03-14 10:17:36 440

转载 IntentFilter 监控

当Intent在组件间传递时,组件如果想告知Android系统自己能够响应和处理哪些Intent,那么就需要用到IntentFilter对象。    顾名思义,IntentFilter对象负责过滤掉组件无法响应和处理的Intent,只将自己关心的Intent接收进来进行处理。 IntentFilter实行“白名单”管理,即只列出组件乐意接受的Intent,但IntentFilter只会过滤

2015-03-14 10:13:54 365

转载 ANR的问题

1.ANR有哪几种?从ActivityManagerService的实现可以看到,ANR有四种,分别对应Android的四个fundermetals。这个也不难理解:所有fundermetal都会在main thread上运行,如果超过了响应的间隔,那么就会ANR。另外JNI调用native函数时也会发生无响应,不过我觉得应该不算单独的一种,它只是未响应发生在了native里,而不是vm里

2015-03-11 20:41:23 819

转载 内存泄露

1. android内存泄露概念     不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的,内存泄漏和C/C++是不一样的。如果java程序

2015-03-11 20:38:19 517

EpMedia的Demo

EpMedia的Demo

2017-08-24

GuillotineMenu-library

GuillotineMenu的library包

2015-06-26

GuillotineMenu的Demo

开源项目GuillotineMenu的Demo,铡刀菜单。

2015-06-26

android自动循环滚动广告JAR包

android自动循环滚动广告jar包,放入lib下即可使用

2015-05-27

SQL SERVER自动提示插件

自动提示,好用,支持SQL Server2000,2005,2008,以及Visual Studio 2010,2012,安装在任意目录下即可

2015-04-27

开源框架Volley

开源框架Volley的JAR包,已编译好,直接导入即可使用

2015-03-30

管理信息系统答案

管理信息系统答案

2013-09-07

空空如也

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

TA关注的人

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