自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 tensorflow-android 官方demo源码分析

this,} else {// 摄像头只支持部分功能时,fallback到传统的APIfragment =// fragment填充到container位置处.commit();下面来看CameraConnectionFragment,构造fragment时我们传入了两个比较重要的回调,一个是cameraConnectionCallback,它在打开摄像头时回调,一个是imageListener,它在摄像头拍摄到图片时回调。我们后面会详细分析。

2024-09-08 18:52:13 1384

原创 Freadhub Mac版它来了

桌面端尺寸相较移动端更大如果采用移动端的底部/顶部tab模式会很丑,故在做MacOS适配过程中顺手做了下响应式布局–这里不做展开后期会单开文章阐述。使用GridView来让屏幕展示更多可用信息左侧顶部导航栏、底部为今日诗词推荐–使用今日诗词更多信息及深色/浅色主题切换按钮1280*800最大尺寸480*640最小尺寸这里设置widow 窗口大小用到了插件-支持MacOSWindowsLinux;Freadhub设置默认尺寸1024*768、最小尺寸480*640、最大尺寸1280*800。

2024-09-08 14:02:12 1123

原创 Android面试:项目创建了几百个线程,你要怎么优化?

这里可以更进一步,替换掉线程池中threadFactory,同样是自己包一层,在newThread()方法中即可及时拿到线程池创建的线程,这样就可以先和线程池建立关联,然后run()时再和堆栈建立关联。通过代理,就可以拿到接口的各种方法以及方法参数,然后为所欲为。在invoke方法中,我们把所有参数为Runnable或Callable的都替换成自己的PoolRunnable,后面和new创建线程池的套路一样,在PoolRunnable的run()或call()方法中进行线程与堆栈的关联。

2024-09-08 09:18:46 898

原创 Android源码大放送(实战开发必备)

│ 在android学习中,动作交互是软件中重要的一部分,其中的Scroller就是提供了拖动效果的类,在网上,比如说一些Launcher实现滑屏都可以通过这个类去实现。你可以去博客里面查看如何实现以及效果图。│ 在android 软件第一次使用的时候,一般会在当前的界面上做一个灰色的蒙版,上面有显示的一些提醒性质的教学文字或者图案。│ java 对apk 文件进行伪加密,然后进行字节码变换的工具,可运行的源代码,其中的apk的目录,需要自己修改成,你的自己的目录。

2024-09-08 03:46:18 4301

原创 Android应用进程间通信之Messenger信使使用及源码浅析

Override//@Override@Override//注意obtain第一个参数,前面文章有解释try {@Override@Override= null) {break;看着了吧,这就是一个超级简单的Messenger使用场景,具体过程比较形象的描述如下图:相信有了这幅图就不需要再解释啥了吧,这个也够明白了。

2024-09-07 17:13:29 742

原创 Android-:想进大厂你必须会的APK瘦身(项目体积优化实战笔记)

APK包结构主要包含assets目录:用于存放需要打包到APK中的静态文件和res的不同点在于,assets目录支持任意深度的子目录,用户可以根据自己的需求任意部署文件夹架构,而且res目录下的文件会在.R文件中生成对应的资源ID,assets不会自动生成对应的ID(在不动业务逻辑,或者代码逻辑的情况下,针对此项很难优化)lib目录:存放应用程序依赖的native库文件, .so的形式存在res目录:res是resource的缩写,这个目录存放资源文件。

2024-09-07 11:39:03 501

原创 Android Jetpack架构开发组件化应用实战

本项目采用组件化+MVVM架构进行开发,对功能组件和业务组件进行拆分,通过ARouter进行组件之间的通信。本文主要是对整个应用的技术架构作一个简单的介绍。技术要点。

2024-09-06 23:16:18 593

原创 Java 重写(Override)与重载(Overload)

重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 IOException 的子类异常。在面向对象原则里,重写意味着可以重写任何现有方法。

2024-09-05 05:23:11 544 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除