Android 自定义相机自动对焦、二次对焦处理

由于android碎片化严重,而且各大厂商极有可能去修改相关API的实现,其中遇到了不少坑,包括实时相机高斯模糊,自动对焦的兼容问题,以及一系列性能问题。换过很多搜索引擎,访问过很多网站,访问过很多网站,拜读过很多代码,没有发现对于相机实时自动对焦特别完美的实现方式。现对相机的自动对焦问题单独做一个记录,算是对这部分的一个总结。也希望后人在这部分能够快速地解决问题,不必浪费过多的时间。测试手机包括:MX4 pro,小米4,华为荣耀3C等等。 ...

七月 6, 2018 · 5 分钟 · LengYue

ButterKnife和dagger2同时引用的小问题

同时使用parceler、butterknife和dagger2这几个库时,可能是因为都用到了annotation,gradle报错: Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/services/javax.annotation.processing.Processor File1: /Volumes/Android/gradle/gradle/caches/modules-2/files-2.1/com.google.dagger/dagger-compiler/2.0.2/1170f75c1ce293f80755bbc9fcd60e0765022bd0/dagger-compiler-2.0.2.jar File2: /Volumes/Android/gradle/gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/7.0.1/d5d13ea991eab0252e3710e5df3d6a9d4b21d461/butterknife-7.0.1.jar 解决方法: packagingOptions { exclude 'META-INF/services/javax.annotation.processing.Processor' // butterknife }

七月 6, 2018 · 1 分钟 · LengYue

解决RecyclerView嵌套ScollView5.0以上失去惯性

 项目中发现,RecyclerView在5.0以上版本滑动不流畅,滑动的手指一离开屏幕,列表就不动了,没有惯性效果。调查原因,发现应该是与ScrollView的有关。 在网上找了找解决方案,有人说把targetSDK改成21可以解决问题,但是并不好用。 解决: 为recyclerView设置禁止嵌套滑动 setNestedScrollingEnabled(false);

七月 6, 2018 · 1 分钟 · LengYue

Android M 新的运行时权限开发者需要知道的一切

译文来自 http://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition android M 的名字官方刚发布不久,最终正式版即将来临! android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜有谈论这事儿,尽管这事很重要或许在不远的将来会引发很严重的问题。 这是今天我写这篇博客的原因。这里有一切关于android运行时权限你需要知道的,包括如何在代码中实现。现在亡羊补牢还不晚。 ...

七月 5, 2018 · 4 分钟 · LengYue

Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?

!!! 原文出处:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=498  0、写在前面本文涉及到屏幕密度的讨论,这里先要搞清楚 DisplayMetrics 的两个变量,摘录官方文档的解释: density:The logical density of the display. This is a scaling factor for the Density Independent Pixel unit, where one DIP is one pixel on an approximately 160 dpi screen (for example a 240x320, 1.5”x2” screen), providing the baseline of the system’s display. Thus on a 160dpi screen this density value will be 1; on a 120 dpi screen it would be .75; etc. This value does not exactly follow the real screen size (as given by xdpi and ydpi, but rather is used to scale the size of the overall UI in steps based on gross changes in the display dpi....

七月 5, 2018 · 5 分钟 · LengYue

Android热修复——原理

1.是用场景  当一个应用上线发布首,突然发现了一个bug需要进行修复,如果真个bug不是严重,或者可以通过服务端进行避免还好说。但是如果这个bug很严重,影响了主功能,必须更新才行,那重新打包,重新上传市场和渠道(近百的渠道)。这些还不是主要问题,用户刚刚升级现在又提示升级大大影响了用户体验。 ...

七月 5, 2018 · 1 分钟 · LengYue

Android调用手机中的应用市场

public static void goToMarket(Context context, String packageName) { Uri uri = Uri.parse("market://details?id=" + packageName); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); try { context.startActivity(goToMarket); } catch (ActivityNotFoundException e) { e.printStackTrace(); } }

七月 5, 2018 · 1 分钟 · LengYue

ClassCastException: android.os.BinderProxy cannot be cast

在使用bindService时遇到这个问题,反复对比网上的别人的代码,没有任何问题,直接把网上的代码复制到我的项目里也没有人任何问题,但是 直接使用我的Service就有问题,提示 ...

七月 5, 2018 · 1 分钟 · LengYue