Android中ScrollView在Dialog中显示的时候控制为最高为屏幕高度的一半
package com.test.widget; import android.content.Context; import android.util.AttributeSet; import android.widget.ScrollView; import com.qmuiteam.qmui.util.QMUID…
阅读全文 »已阅读 94 次Android排除引用库中的特定权限
在开发的过程中往往好多第三方库引用了很多我们根本用不到的库,但我们又没有办法去配置清单中手动清除,那么我们可以采用以下方式去排除或者叫删除一下这个权限: <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” tools:…
阅读全文 »已阅读 339 次android 限制EditText输入内容为字母或汉字
val typeFilter = InputFilter { source, start, end, dest, dstart, dend -> val p = Pattern.compile(“[a-zA-Z|\u4e00-\u9fa5]+”) val m = p.matcher(source.toString…
阅读全文 »已阅读 206 次Android Q Android 10 报错 .jpeg: open failed: EACCES (Permission denied)
在 AndroidManifest.xml 中加入 android:requestLegacyExternalStorage=”true” 就可以解决,如下 <application android:name=”.App” android:allowBackup=”true” androi…
阅读全文 »已阅读 645 次java中List去重合并
在日常开发中我们往往会遇到这样的需求,就是有两个List需要我们去重并合并,那么我们来研究一下基础类型List的这种操作应该如何实现。有很多种方法我们来研究一下。 比如说我们要处理如下两个列表的合并 List listA = new ArrayList(); listA.add(“a”); listA.add(“b”)…
阅读全文 »已阅读 326 次Android Toolbar 返回按钮事件重写
今天写一个东西发现需要设置Toolbar的左侧返回按钮的事件,然后用了如下写法发现并不生效。 mToolbar.setNavigationOnClickListener(v -> { if (mWebView.canGoBack()) { mWebView.goBack(); return; } finish()…
阅读全文 »已阅读 493 次Android中容易引起内存泄漏的地方
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); textView = (TextView) findViewB…
阅读全文 »已阅读 216 次LeakCanary的接入方式
在build.gradle文件添加引用 debugImplementation ‘com.squareup.leakcanary:leakcanary-android:1.6.3’ releaseImplementation ‘com.squareup.leakcanary:leakcanary-android-no-…
阅读全文 »已阅读 308 次iOS 内存泄漏的发生和问题查找的方向
在我们iOS日常的开发过程中会遇到各种各样的内存泄漏问题,这个问题表面可能看起来并不严重,但实际有很大的弊端,会造成过多内存的使用不会被回收,所有今天我来总结一下我遇到过的内存泄漏的问题以及我查找的思路。 ###下面我就来总结一下常见内存泄漏出现的地方。 在使用Timer造成的内存泄漏 相信我们在做开发过程会时不时用到…
阅读全文 »已阅读 266 次Android 音视焦点管理
最近在做项目的时候发现做的视频通话功能在有音乐播放的时候进入通话中或播放铃声的时候会出现声音同时叠加播放的情况,也就是音乐在进入播放铃声或这通话的时候并没有正常暂停,于是就研究了一下Android上音频焦点的管理部分,现在来总结一下。 其实在很多种场景都是这样的,比如平日我们用手机在使用某家的音乐播放器听音乐,然后突然…
阅读全文 »已阅读 416 次统计gradle每个task执行用的时间
import java.util.concurrent.TimeUnit // Log timings per task. class TimingsListener implements TaskExecutionListener, BuildListener { private long startTime pri…
阅读全文 »已阅读 150 次flutter 环境安装遇到的问题CocoaPods installed but not initialized.
今天在开始学习flutter的过程中安装环境遇到CocoaPods installed but not initialized.这个问题。如下: Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel dev, v…
阅读全文 »已阅读 1,665 次git clone github项目加速方式
今天遇到了git clone github项目很慢的情况,如下 git clone https://github.com/CocoaPods/Specs.git master 于是从网上各种查找资料,发现如果在hosts文件中指定现有github服务的IP地址就可以做到加速。于是开始了操作。 首先先查找IP地址 nsl…
阅读全文 »已阅读 615 次iPhoneX或其他有刘海的屏幕某些尺寸的适配
最近两天在修改一个项目中出现的bug,就是有一个搜索界面的SearchBar下做了一个搜索历史的列表展示,在不是带刘海屏的手机上显示一切ok,但遗憾的是在刘海屏上搜索列表就会被遮挡一部分,当然这个搜索历史View的位置是用frame直接写的,于是我就各种试,用自动布局写了些发现问题很大到最后都没发现问题为啥会出现,于是…
阅读全文 »已阅读 332 次使用UISearchController遇到的问题
在使用UISearchController的过程中遇到了很多问题,踩过了很多坑,现在记录并总结一下。 1. 第一个问题就是sectionIndex和Searchbar的冲突 searchBar加到tableView的headerView上,然后为tableView添加sectionIndex,问题就出来了,因为sect…
阅读全文 »已阅读 532 次设计模式学习之单例模式
单例模式就是涉及到但一个的一个类,自己给自己提供单一的一个访问方式,并只创建一个该类的实例。 使用场景 比如说我们需要记录一套并且只有一套数据,具体来举例比如需要记录一场比赛的分数,可以通过单例模式存储不同队员的分值,分值会在单例中单一记录,不会重现重复记录。 总之来说单例就是为了实现同一运行实例的独立记录方式,同一个…
阅读全文 »已阅读 179 次设计模式学习之工厂模式
设计模式学习之工厂模式 在刚开始做开发工作的时候接触过这种设计模式,但很懵懂,很多地方不明白,只是照搬了这样的写法,现在回过头来好好学习一下工厂模式。 工厂模式主要能解决什么问题以及在什么时候使用? 主要解决接口选择的问题,我们需要在不同条件下创建不同的实例来实现不同的功能。 怎么实现其关键代码在哪里实现呢? 应该是在…
阅读全文 »已阅读 190 次