安卓学习
文章平均质量分 59
梦江月
一个业余麦霸
展开
-
如何防止activity的双重引用和Handler等造成内存泄漏
今天说一下作为新手的我们经常犯的错—-以activity等作为参数造成双重引用而产生的内存泄漏【不论伪MVC还是MVP,只要存在模块引用了有自己生命周期的对象】。DDMS(Monitor->system info好像)、Findbugs等一些工具是可以检测到的,但我觉得集成leak检测最省事,android有像leakcanary这样的开源框架。 而Android studio总是...原创 2017-12-25 21:02:06 · 909 阅读 · 0 评论 -
安卓适配所有屏幕UI的方法
问题背景:之前项目里UI是通过JSON模版来进行控制的,为了数据通用性强(与字体大小对应,匹配xml方便)采用dip作为单位。但遇到的问题是在不同的分辨率或屏幕密度的屏幕上不能够正常显示。虽然采用相对布局的模板设计既能解决屏幕适配问题又能解决手机在横竖屏翻转UI切换问题,但这样做有可能因为屏幕不同而造成UI显示变形且目前的需求不考虑屏幕翻转。所以在不改变我在很久前定好的UI模版规则的前提下,使一个模原创 2016-11-01 23:30:13 · 1310 阅读 · 0 评论 -
官方Android Camera2 video Demo崩溃的修正
最近在做关于视频(YUV<–>h264)、camera、camera2相关的项目。 首先要赞一下camera2,设计的非常良心。1920*1080的分辨率下帧率依然能保持30fps。接下来就只剩下吐槽了。 花了整整一天的时间做了camera2的在一个界面上录像+拍照的app。唯一的感受就是坑太多! 接下来,步入正题。官方demo,总会在stopRecording()这里崩溃。甚至底原创 2017-03-16 19:23:25 · 8260 阅读 · 16 评论 -
Android API24以上Error inflating class android.support.design.widget.TabLayout
在API23中使用了TabLayout,在升级到API24进行编译后,程序运行时出现了如下错误: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.demo/com.example.demo.activity.ViewPagerActivity}: android.view.Inflat原创 2017-09-17 10:39:58 · 6781 阅读 · 1 评论 -
Android GridView自适应高度(不出现滚动条)
最近有个需求就是,网格状显示,且需要自适应高度(不出现滚动条),大概看了一下网上的解决方法,最终采用了如下方案: public class MyGridView extends GridView { public MyGridView(Context context) { super(context); } public MyGridView(Context原创 2017-09-17 10:13:24 · 6500 阅读 · 4 评论 -
Service与Activity交互之IPC
如题,有个场景就是,在Service中进行文件上传,监听上传的各种情况,且上传不能够影响应用。本次就拿FTP吧。 首先想到远程服务(Remote Service)。 接下来,直接上代码,步骤: 1、编写AIDL interface IFileUploadServices { /** * Demonstrates some basic types that y原创 2017-05-16 14:37:26 · 406 阅读 · 0 评论 -
中国天气网Android XmlPULL解析:通过城市名获取weatherCode
之前项目中使用和比较过多个天气API:百度天气,新浪天气,中国天气网等,返回值均为JSON数据格式。现在将中国天气网城市-天气对应表的解析过程贴上来,方便后来的小伙伴开发。本文指在使用中国天气网,通过三级省市名来获取查询天气需要的城市代码。 一、 小结: 1. 百度天气 与百度地图一样,需要申请自己的AK。有集成百度定位的正好可以使用。API地址为: URL=“http://api.map原创 2017-02-16 17:28:26 · 2792 阅读 · 3 评论 -
安卓退出已调用多个Activity的应用
如题:在某个activity运行时按BACK键退出整个应用,考虑栈中会有多个activity,所以原创 2016-08-16 21:10:22 · 564 阅读 · 0 评论 -
Vitamio的小修改及花屏问题的探讨
最近在做安卓视频模块,背景如下: 视频竖屏播放时,SurfaceView不能对视频进行翻转,采用安卓4.0后的TextureView新控件又会容易受到硬件性能影响(包括TextureView在内试过好几个OpenGL实现的视频播放控件,其性能都更容易收到性能影响,比如播放帧率较大的视频时或者有多个图片资源不断切换时会造成卡顿和丢帧),采用Vitamio后可以解决竖屏播放问题,但其性能还是有待优原创 2016-07-16 16:58:32 · 3566 阅读 · 0 评论 -
Android集成百度地图步骤简述
最近接触了地图、定位方面的API,虽然网上相关的东西有很多。但还是想从头到尾的介绍一遍安卓集成百度地图,方便第一次相关开发的同学学习。 首先,集成百度API需要在百度地图开放平台 申请自己的AK。当然你得先注册和认证通过。 如图: 这里创建应用,选择自己想要的应用类型,如果是安卓APP集成,那选择Android SDK,接下来需要填写的还有SHA1和包名,SHA1值可以在原创 2016-10-19 22:35:15 · 1605 阅读 · 0 评论 -
安卓4.0后新控件TextureView解决SurfaceView在修改默认屏幕方向后(硬件导致)视频方向无法翻转的问题
之前做东西的时候一直用SurfaceView来作为视频播放的控件载体,而前些时候客户突然出了这么一个新需求:用户期望能够为竖屏适配一套UI,同时将默认方向改为竖屏。 要修改系统默认屏幕为竖屏很简单: 可以通过修改/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java中的rotatio原创 2016-06-07 17:29:20 · 6477 阅读 · 2 评论 -
com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
转自:http://www.cnblogs.com/jasonduan/p/5166114.html最近在使用百度地图API的时候遇到了以下问题: Error:Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebug’. com.android.build.api.transform.Transform转载 2016-10-18 19:59:02 · 1689 阅读 · 0 评论 -
【转】Android应用程序:(jni方式)控制LED/GPIO
GPIO的英文全称General-Purpose Input /Output Ports,中文意思是通用I/O端口。 在嵌入式系统中,经常需要控制许多结构简单的外部设备或者电路,这些设备有的需要通过CPU控制,有的需要CPU提供输入信号搜索。并且,许多设备或电路只要求有开/关两种状体就够了,比如LED的亮与灭。对这些设备的控制,使用传统的串口或者并口就显得比较复杂,所以,在嵌入式微处理器上通常提转载 2017-02-12 14:57:00 · 2991 阅读 · 0 评论 -
【转】图片缓存之内存缓存技术LruCache,软引用
转自:http://blog.chinaunix.net/uid-26930580-id-4138306.html每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常, 这个问题曾经让我觉得很烦恼,后来终于得到了解决, 那么现在就让我和大家一起分享一下吧。 这篇博文要讲的图片缓存机制,我接触到的有两钟,一种是软引用,另一种是内存缓存技术。 先来看下两者的使用方式,再来作比较。转载 2016-10-18 21:03:34 · 352 阅读 · 0 评论 -
NohttpRxUtils是我为什么不愿意继续使用Nohttp的原因
前言 从RxJava出来到现在,就不断有人说Rxjava是如何如何好的一个框架。但是呢?其链式调用决定了不能直接兼容Nohttp等其他库。就比如说,我有业务A,B,做着不同的事,然后有一天我需要在A里做B里的部分业务片段。这时代码会怎么做呢。大概无非就是在A中声明接口、对象、set方法(并在适时调用该对象方法),将A对象a赋给B,并在B中实现该接口方法、使用a.set…(this)初始化A...原创 2018-03-06 13:50:07 · 626 阅读 · 0 评论