安卓图片瘦身

https://tinypng.com/
分类: 其他 发布时间: 02-08 22:15 阅读次数: 0

Android 获取TextView 显示的字符串宽度

工作上有业务需要判断textview是否换行,我的做法是判断textview要显示的字符串的宽度是否超过我设定的宽度,若超过则会执行换行。项目中的其他地方也有这样的需求,故直接使用了那一块的代码。如下public float getTextWidth(Context Context, String text, int textSize){ TextPaint paint = new TextPaint(); float scaledDensity = Context.getReso
分类: 其他 发布时间: 02-08 22:15 阅读次数: 0

解决TV端触摸模式下失焦问题

setFocusableInTouchMode(true);
分类: 其他 发布时间: 02-08 22:15 阅读次数: 0

一个对象到底占多少内存?

内存是程序员逃不开的话题,当然Java因为有GC使得我们不用手动申请和释放内存,但是了解Java内存分配是做内存优化的基础,如果不了解Java内存分配的知识,可能会带偏我们内存优化的方向。所以这篇文章我们以“一个对象占多少内存”为引子来谈谈Java内存分配。文章基于JDK版本:1.8.0_191文章标题提出的问题是”一个对象到底占多少内存“,看似很简单,但想说清楚并不容易,希望本文的探讨能让你有收获。在开始之前我还是决定先提一个曾经阴魂不散,困扰我很久的问题,了解这个问题的答案有助于我们理解接.
分类: 其他 发布时间: 02-08 22:14 阅读次数: 0

apktool.bat 无法下载的解决方案

创建一个apktool.bat的空文件把下面的代码复制进去@echo offsetlocalset BASENAME=apktool_chcp 65001 2>nul >nul set java_exe=java.exe if defined JAVA_HOME (set java_exe="%JAVA_HOME%\bin\java.exe") rem Find the highest version .jar available in the sam
分类: 其他 发布时间: 02-08 22:14 阅读次数: 0

文件未commit就切换分支,文件会被到处携带着

切换分支时一定要先commit文件,不然会把未commit的文件一起切换到其他分支去比如:在develop分支创建文件a.txt,然后切换分支到master(此时develop未commit),a.txt被携带到master分支上了,接下来的操作分为两步:①直接在master分支执行命令commit。结果:a.txt属于master分支了,切换到develop分支,a.txt已经不属于develop了。②切换到develop分支执行命令commit。结果:a.txt还是属于develop分支的,然后再
分类: 其他 发布时间: 02-08 22:13 阅读次数: 0

视频和视频帧:H264编码格式整理

本文将介绍的是:H264的发展历史。将介绍H26x和MPEG家族的发展和关联。 H264的编码格式。主要介绍VCL和NAL,前者与视频编码数据紧密相关,后者和H264格式相关,也是本文介绍的重点。 NAL。介绍NAL的组成单元:NALU。包括NALU的组成结构、类型、几个特殊的NALU,AU等。 H264其他概念。如H264的两种格式:Annex-B和AVCC,Start Code。I. H264的发展历史本文提出第一个问题“所有的视频都一定要编码吗?”答案是肯定的。相信查看其他...
分类: 其他 发布时间: 02-08 22:12 阅读次数: 0

内部类之局部内部类只能访问final的局部变量

1.首先来了解一下局部内部类是如何访问局部变量的Person类是外部类,LoInClassIntf是接口,localInClassRe是Person类的成员方法,且返回值类型为LoInClassIntf;方法内定义了一个局部内部类LoInnerClass,该内部类实现了接口LoInClassIntf;方法内还定义了一个final的局部变量a,定义了一个LoInnerClass类型的对象引用loInC;代码如下: 1 //笔记23:内部类--局部内部类--实现接口,返回内部类对象
分类: 其他 发布时间: 02-08 22:12 阅读次数: 0

如何使用notepad++查看二进制文件

1、下载HexEditor插件HexEditor插件下载地址https://github.com/chcg/NPP_HexEdit/releases注意:notepad++、Hex-editor 都有32位和64位两种版本,在使用时两者的版本要保持一致。以截图为例,64版本的notepad++下载HexEditor_0.9.8_x64.zip,32版本的notepad++下载HexEditor_0.9.8_x86.zip。2、配置HexEditor在notepad++安装路径的plu
分类: 其他 发布时间: 02-08 22:11 阅读次数: 0

写一个网络请求架构,通用实现思路

1、用线程池管理网络请求(ThreadExcutor)2、请求结果可以借助接口等,传递到调用层。3、缓存请求下来的数据,和对应的requestId建立映射。4、缓存中有数据,或者已有相同requestId没执行完成,则用改requestId去请求数据,会被拒绝。5、用泛型去管理请求参数。...
分类: 其他 发布时间: 02-08 22:11 阅读次数: 0

【Java】父类子类初始化问题

父类子类初始化问题例子: public class Test8 extends Base{ private String name = "dervied"; public Test8() { tellName(); printName(); } public void tellName() { System.out.println("Dervied tel
分类: 其他 发布时间: 02-08 22:11 阅读次数: 0

java中写入文件时换行符是用“/r/n“还是“/n“?

/r 叫回车 Carriage Return/n 叫新行 New Line但是都会造成换行使用 System.getProperty(“line.separator”)来获取当前OS的换行符,可以在调试的情况下看到!各系统应当是:/r Mac/n Unix/Linux/r/n Windows这种输出的主要表现在用notepad打开时的显示。使用其他编辑器则没有明显变化!!在winodws下,如果用"/n",则会显示成如下:如果使用"/r/n",则会显示出换行的效果。原
分类: 其他 发布时间: 02-08 22:10 阅读次数: 0

Android架构组件liveData和room的最低要求

根据googlesamples,最低的API版本是14(Android ICS).因此我认为使用该架构组件的最低要求是:(1)支持库版本26(2) minSdk版本14以下是minSdk 14应用程序的gradle文件的链接:https://github.com/android/architecture-components-samples/blob/master/GithubBrowserSample/app/build.gradlehttps://github.com/androi.
分类: 其他 发布时间: 02-08 22:10 阅读次数: 0

LiveData实践

LiveData的优点(摘自https://blog.csdn.net/m0_37778101/article/details/103789862) UI和实时数据保持一致,因为LiveData采用的是观察者模式,这样一来就可以在数据发生改变时获得通知,更新UI。 避免内存泄漏,观察者被绑定到组件的生命周期上,当被绑定的组件销毁(destroy)时,观察者会立刻自动清理自身的数据。 不会再产生由于Activity处于stop状态而引起的崩溃,例如:当Activity处于后台状态时,
分类: 其他 发布时间: 02-08 22:10 阅读次数: 0

内存映射为何能提升IO读取速率?

ap技术,也就是内存映射,直接将磁盘文件数据映射到内核缓冲区,这个映射的过程是基于DMA引擎拷贝的,同时用户缓冲区是跟内核缓冲区共享一块映射数据的,建立共享映射之后,就不需要从内核缓冲区拷贝到用户缓冲区了。光是这一点,就可以避免一次拷贝了,但是这个过程中还是会用户态切换到内核态去进行映射拷贝,接着再次从内核态切换到用户态,建立用户缓冲区和内核缓冲区的映射。接着把数据通过Socket发送出去,还是要再次切换到内核态。接着直接把内核缓冲区里的数据拷贝到Socket缓冲区里去,然后再拷贝到网络协议引擎里,发送出.
分类: 其他 发布时间: 02-08 22:09 阅读次数: 0

《深入理解Java虚拟机》读书总结

前言前面每读完一章就整理了一篇笔记,感觉比较乱。这次读完之后总结了一下,对整个Java虚拟机有了系统性的理解。首先,java程序可以“一次编写,到处运行”就是因为有Java虚拟机这个东西作为容器。Java虚拟机作为一个中间层,向上接受由我们编写的代码生成的字节码,向下给机器提供可以被直接执行的目标代码,这就有了Java的“平台无关性”的基础。通过这个定义我们知道,一切可以编译出字节码的语言都可以获得这种“平台无关性”,也就是说像一些类Java语言比如Groovy Scala等,因为用他们也可以生成字
分类: 其他 发布时间: 02-08 22:09 阅读次数: 0

Android TV开发中常用命令

1. adb连接终端adb connect 192.168.16.222adb connect 192.168.16.222:55551 22. 查看连接的终端列表adb devicesadb -s [指定设备] [cmd]1 23. 查看系统信息adb shell cat /system/build.prop14. 查看包信息dumpsys package -m [packagename]15. 命令方式启动apkam start -n [p
分类: 其他 发布时间: 02-08 22:09 阅读次数: 0

Java内存的一点理解, 静态方法和实例方法的区别及使用场景

注意:变量指基本数据类型非对象,局部变量不能被静态修饰1、(静态)成员变量存放在data segment区(数据区),字符串常量也存放在该区2、非静态变量,new出来的对象存放在堆内存,所有局部变量和引用地址存放在栈内存3、方法(包括静态方法)存放在code segment(方法块),存放代码片段,且只存放一次public class Cat { //private static int sid = 0; private int sid = 0; private St
分类: 其他 发布时间: 02-08 22:09 阅读次数: 0

NDK does not contain any platforms.

找了很多资料,不知道什么原因。后面是通过下载早前的版本解决了这个问题,记录下:
分类: 其他 发布时间: 02-08 22:08 阅读次数: 0

Flutter 环境搭建 & 解决卡死(Creating Flutter Project)

环境搭建1 按照官网安装Flutter注意下面的提示语注意,国内需要做特殊配置,点击下面链接Important: If you’re in China, first read Using Flutter in China.2 配置环境变量sudo vi ~/.bash_profile在配置文件中添加如下配置:#flutterexport PUB_HOSTED_URL=[https://pub.flutter-io.cn](https://pub.f...
分类: 其他 发布时间: 02-08 22:08 阅读次数: 0