![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android开发
熊仙森
Walk slowly, it can always be far away
展开
-
Android中内存泄露的注意点
文章转自公众号nanchen的每日一问内存泄漏对每一位 Android开发一定是司空见惯,大家或多或少都肯定有些许接触。大家都知道,每一个手机都有一定的承载上限,多处的内存泄漏堆积一定会堆积如山,最终出现内存爆炸 OOM。而这,也是极有可能在 Android 面试中一道常见的开放题。内存泄漏的根本原因是一个长生命周期的对象持有了一个短生命周期的对象。如果你对垃圾回收机制有所了解,我想这个问题基本难不住你,因为知道了原理,自然不会去触碰这些极易导致内存泄漏的雷区。该题重在积累,不需要死记硬背,自己多转载 2020-05-28 15:13:04 · 385 阅读 · 0 评论 -
getParameters failed (empty parameters) 问题解决
最近改代码,删掉了原来录制视频做处理的逻辑,改用onPreviewFrame来回调到预览帧处理。修改后出现了这个错误getParameters failed (empty parameters)出现这个错误大概率是在采集视频,需要认真的管理Camera对象,以及跟MediaRecorder类的协调。当使用Camera对象记录视频时,除了Camera.open()和Camera.release(...原创 2019-01-25 11:13:54 · 12173 阅读 · 2 评论 -
Camera.onPreviewFrame 无法回调,无法获取帧
项目本来是采用MediaRecorder来录制视频并对视频进行处理获取信息。后改变方式转用onPreviewFrame来获取预览帧直接处理。但是始终无法进入到onPreviewFrame函数内部,无法正确回调。我已经用camera.setPreviewCallback(this);触发了回调函数(这里常用的有三种回调函数,不在此处详细说了),但是依旧没有办法进入onPreviewFrame函数。...原创 2019-01-25 11:44:47 · 3555 阅读 · 10 评论 -
IOException: No such file or directory 问题解决
文章目录问题描述:注册权限动态申请权限总结:问题描述:Android开发,在访问文件夹创建文件的时候,报错IOException: No such file or directory ,代码本身没有问题。注册权限找了一会儿,突然间想起来这是一个访问内存,需要权限,在AndroidManifest中进行注册: <uses-permission android:name="andr...原创 2019-01-25 22:26:27 · 35384 阅读 · 2 评论 -
RGB与YIQ的转换
YIQ,是NTSC(National Television Standards Committee)电视系统标准。Y是提供黑白电视及彩色电视的亮度信号(Luminance),即亮度(Brightness),I代表In-phase,色彩从橙色到青色,Q代表Quadrature-phase,色彩从紫色到黄绿色。优点较其他颜色空间,YIQ颜色空间具有能将图像中的亮度分量分离提取出来的优点,并且YIQ...原创 2019-01-15 21:07:53 · 7831 阅读 · 0 评论 -
Android Camera 预览及录制视频 附demo
文章目录1. 打开Camera:2. 连接预览:3. 启动预览:4. 启动视频录像:4.1. 给Camera对象解锁:4.2. 配置MediaRecorder对象:4.2.1. setCamera():4.2.2. setAudiioSource():4.2.3. setVideoSource():4.2.4. 设置视频的输出格式和编码:4.2.4.I.setOutputFormat():4.2....原创 2019-01-26 18:05:44 · 5352 阅读 · 0 评论 -
Android PreviewCallback和OnPreviewFrame学习,附一个简单的Demo
最近项目需要,将录制视频改成采用onpreviewframe采集视频帧。看了很多的资料,感觉都写的不是很全,我就集百家之长,写了自己的总结和见解,同时附了一个小demo。相机在绑定 SurfaceHolder.Callback 之后,可以设置将预览显示在SurfaceView上 。这里SurfaceView有自己的生命周期,但是我们也可以获取到预览的数据。添加绑定这就是通过绑定Previe...原创 2019-01-26 23:24:34 · 6792 阅读 · 0 评论 -
Android Studio 项目上传GitHub 以及GitHubDesktop 的使用
文章目录Android Studio 项目上传GitHub安装Git并在AS中配置连接自己的GitHub账号创建本地仓库添加文件到代码仓上传到GitHub完善使用GitHub Desktop 管理更新Clone a RepositoryCreate a new repositoryAdd Local repository具体的操作最近有从所做的项目里拆出来一个小的Demo当做学习的参考和适用方法...原创 2019-01-27 14:34:08 · 6750 阅读 · 0 评论 -
Bitmap createBitmap()裁剪图片
最近实验中用到了预览帧的处理,但是我们在配合采集时只需要中间一部分的图案的信息。因此便用到了Bitmap的裁剪。也就用到了 createBitmap() 这个方法。这里仅做一下记录。这是官方的API介绍 /** * Returns an immutable bitmap from the specified subset of the source * bitmap. Th...原创 2019-02-21 21:38:10 · 8916 阅读 · 0 评论 -
Android Studio 每一次简单的修改后真机调试都很慢 Offline work
每一次run都重新下载配置文件。会很慢。再配完了一次之后。没有大的改动的前提下,将AS设置成离线工作状态,会发现可以提速很多。File -> Settings -> Build,Execution,Deployment -> Gredle需要注意的是,当导入新的项目的时候记将这个勾选取消掉,因为不联网的话,很多库或者是配置文件下载不下来,会报错的。...原创 2019-03-05 15:17:56 · 5838 阅读 · 0 评论 -
Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 18402 (n.myapplication),问题解决
最近写一个Android Studio的很简单的demo,就是打开显示一个底部导航栏,每个页面显示一个图。总是报我 Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 18402 (n.myapplication),错误。找了好久,不应该啊,因为和原来的程序一模一样咋就出了问题呢,然后网上搜解决办法发现都是混编了C++的代码,然后堆爆了。导致问...原创 2019-06-17 17:33:44 · 12891 阅读 · 0 评论 -
error: failed to read PNG signature: file does not start with PNG signature
开发中遇到了无法打包生成apk文件的问题。报错如下 error: failed to read PNG signature: file does not start with PNG signature错误:无法读取PNG签名:文件没有从PNG签名开始。一般都是图片格式有问题 可能是直接修改后缀名造成了图片的损伤,也可能是图片压缩时产生的问题。可以重新处理图片再加载,建议使用PS或其他软...原创 2019-06-18 16:06:56 · 20158 阅读 · 1 评论 -
Android Studio 实用插件介绍
文章转自公众号《Android程序员日记》文章目录界面插件1、CodeGlance2、Material Theme UI效率插件1、GsonFormat2、Android ButterKnife Zelezny3、LayoutFormatter4、JsonOnlineViewer5、Android Selector Generate工具类插件1、ECTranslation2、ADB WiFi ...转载 2018-12-05 18:55:34 · 418 阅读 · 0 评论 -
Android 错误找不到符号
网上有个比较大众的解决办法,不过我的原因比较弱智,是由我疏忽引起的,记录一下我的傻子行为。开始报错,这么多的方法没有,emmmmm,说明是我的包导错了,如与我不同,请移步文章末尾。Camera 有两个类包因为Camera2的普及,所以Camera算是不被推荐了(画了一条横线说明该类已经有了更好的替代方法或者是要被废弃了,emmmmm,抽时间改成camera2,不然说不定就给删了某天)...原创 2018-11-19 11:29:19 · 3362 阅读 · 0 评论 -
Android MediaRecorder录制模糊的解决办法
依照网上的demo,自写的应用录制15秒的视频只有200K左右的大小,打开一看就很模糊。影响了视频的后续处理(我们需要对视频后期提取颜色或动作变化的波形)。需要提高视频的录制质量。解决办法:网上流传比较广的一种办法是法一:设置CamcorderProfile//代码源自网络 /***********原来的写法************/ mMediaReco...原创 2018-10-18 11:31:03 · 5953 阅读 · 0 评论 -
Android Studio 3.1.X 如何导入项目
建议直接先建一个新的项目,瞅一下有啥不同,然后再修改。修改appuild:gradle修改compileSdkVersion和buildToolsVersion修改前: compileSdkVersion 23buildToolsVersion '25.0.0'修改后:compileSdkVersion 27buildToolsVersion '27.0.3'...原创 2018-07-10 17:03:04 · 527 阅读 · 0 评论 -
void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 解决办法
初始化TextView或其他控件的时候,报错:Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 这个空指针异常是由于找不到Layout中的TextView控件,需要检查ID命名以及在acti...原创 2018-07-23 17:08:33 · 7801 阅读 · 0 评论 -
Android适配不同分辨率手机屏幕的开发
我们经常会遇见这样的场景,做一款简单的App,在自己的手机上设计了layout的xml文件,UI做的还挺好看,挺合适的。但是换了一个手机就会发现变的巨丑,可能只是集中在局部(原来的分辨率低,新的机器分辨率高),或者是手机屏幕放不下了(原来的分辨率高,心的机器分辨率低)。 解决办法就是: 我们可以在res文件路径下新建适配不同分辨率的手机的layout文件,与layout...原创 2018-07-23 17:28:53 · 5284 阅读 · 6 评论 -
Android This view is not constrained, it only has designtime positions 解决办法(不同版本AS)
在Android studio中使用ConstraintLayout布局时,再次使用其他的控件时,会报异常,控件下有红色的波浪线,问题是View没有被约束,需要添加约束。 这个时候要注意的是,当你的AS版本是3.X以前的版本时,可以打开预览界面,点击design(设计界面),右键布局,选择infer Constraints,点击后解决问题。 当你的AS是3.X以上的版本时,...原创 2018-07-25 19:49:06 · 49116 阅读 · 10 评论 -
android.view.InflateException: Binary XML file line #0: Error inflating class <unknown> 解决办法
项目跑成功了,打开后进入一个activity时出问题,崩溃,报错 可以将问题定位在XML文件出了问题 出错误的地方大概有下面几个,可以根据错误日志详细排查首先重构一下项目,rebuild project,看是否消失。是否使用自定义的view,检查路径是否完整且正确。检查自定义view的构造函数。检查资源文件是否引用错误。 View(Context context...原创 2018-07-25 20:43:02 · 47581 阅读 · 20 评论 -
Android Edittext 关掉软键盘自动弹出
在开发中,遇见了在这样的需求,打开一个页面有一个EditText,进入都还没加载利索就自动打开了软键盘,不能够第一眼看到整个页面的设计,感觉很不友好,需要将软键盘的自动打开关掉。 法1.网上有个教程是让EditText失去焦点,代码如下,反正我试了试,该弹还是弹出来了,没有效果。EditText edit = (EditText)findViewById(R.id.edit);ed...原创 2018-07-26 11:34:08 · 973 阅读 · 1 评论 -
Android studio 新建项目和重启 出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'. 的解决办法
当Android studio 新建项目或重启后,出现如下的错误 错误代码如下:Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency 'com.android.support:support-annotations' in project ':app'....原创 2018-07-22 14:51:33 · 3112 阅读 · 4 评论 -
Error: 程序包org.apache.http不存在 原因及解决方法
AS中该加的第三方类库都在build.gradle中配置好了,但是还是会报 Apache.Http 类的包不存在,且在compile或implementation中找不到Http的库。 原因: 是Android6.0之后,SDK就不再支持HTTPClient,仅保留了几个类,推荐使用HTTPURLConnection类,因为他可以通过透明压缩和响应减少网络的使用并最大限度的降低电量...原创 2018-07-31 11:26:28 · 27629 阅读 · 12 评论 -
Activity间和Fragment间的数据传递—使用Bundle
Bundle类传递消息有两种,一是在Activity中进行消息传递,一是在在Fragment中进行消息传递,两者之间有些差别,Fragment的页面跳转并不用Intent来进行跳转,而是有一套自己的体系。 一:Activity中新建一个Bundle类 Bundle bundle=new Bundle();Bundle类中放入数据(key-value的形式,另一个Activit...原创 2018-08-24 22:14:47 · 2346 阅读 · 0 评论 -
Android 界面加载卡顿严重,Skipped 56 frames! The application may be doing too much work on its main thread
在APP开发中,出现了部分界面卡顿十分严重的情况,日志中报 说明在主线程做了太多的耗时操作。 应当注意:不应在主线程中进行耗时操作,比如网络请求,很复杂耗时的计算,对数据库的访问以及数据修改等。应该另开辟子线程将之放入到子线程中。控件的刷新应在主线程中进行操作。同时,在页面加载了很多的图片资源,或图片资源很大的时候,应该尽可能的将资源的获取设置在代...原创 2018-09-12 09:26:28 · 74352 阅读 · 8 评论 -
从内部类中访问本地变量userNameToSelect;需要被声明为最终类型——解决办法为原因解析
Android studio 中报错如下 一,首先了解一下什么是内部类 在java中,将一个类定义在另一个类里面或者是方法里面,这样的类被称为是内部类内部类。大概可以分为四类类:成员内部类、局部内部类、匿名内部类和静态内部类。 这四种类具体的区别可参考java内部类详解二,为什么只能访问局部final变量? 在局部内部类和匿名内部类中只能访问局部fi...原创 2018-09-12 21:28:48 · 6237 阅读 · 0 评论 -
绘制圆形surfaceview,解决预览框的畸变问题
绘制圆形的SurfaceView1. 首先介绍一下什么是SurfaceViewSurface意为表层、表面,顾名思义SurfaceView就是指一个在表层的View对象。为什么说是在表层呢,这是因为它有点特殊跟其他View不一样,其他View是绘制在“表层”的上面,而它就是充当“表层”本身。创建SurfaceView的时候需要实现SurfaceHolder.Callback接口,它可以...原创 2018-06-30 11:13:44 · 13488 阅读 · 20 评论