- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 经典问答
1.String的最大长度是多少?String内部是以char数组的形式存储,数组的长度是int类型,那么String允许的最大长度就是Integer.MAX_VALUE了。
2020-04-02 09:05:33
223
原创 Java HashMap和ConcurrentHashMap
归纳下:HashMap是底层由数组+链表组成的数据结构。非线程安全,resize并发可能形成环;解决hash冲突的两个方式:降低负载因子, 使用链表;1.8:链表长度达到8,链表改为红黑树。ConcurrentHashMap:1.7:使用Sement分段锁1.8:使用CAS+sychronized, 红黑树参考:https://blog.youkuaiyun.com/weix...
2020-04-01 23:24:23
240
转载 Google PAI资料整理及实现
总览利用Play Auto Installs(PAI),OEM可以为设备创建单个软件版本(单个工厂ROM)并支持服务器端配置。然后,制造商可以通过选择要安装的Google Play商店应用来进一步定制该设备,以作为最终用户开箱即用体验的一部分。为什么选择PAI?OEM通常会构建相同的硬件SKU并将其交付给各种各样的客户(从运营商到最终用户),然后针对该硬件SKU使用多种软件变体来...
2020-04-01 19:38:39
6310
1
转载 java装饰模式
在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰模式来实现。装饰模式的定义与特点装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属...
2020-03-31 22:59:37
261
原创 java设计模式的整理
一.6大设计原则(Solid)类是对一类“事物”的属性与行为的抽象。1.单一原则(Single):一个类应该职责单一,一个类只代表一种概念,一个方法只实现一个功能。2.开闭原则:类对扩展是开放的,对修改是关闭的。3.里氏替换原则:派生类必须能够完全替换基类。4.依赖倒置原则:高层模块不依赖底层模块,双发都应该依赖抽象,抽象不依赖细节,细节依赖抽象;5.接口隔离原则:类之间的...
2020-03-28 22:51:51
188
原创 UI流畅度
1.流畅度定义16.67ms刷新一帧即一个Vsync2.界面机制code或xml编写界面布局,转成DisplayList,由屏幕展示3.案例分析as GPURender:分析是否掉帧Overdraw 像素点多次绘制,绿色是1次,蓝色是2次,红色是3次以上systrace性能分析,耗时分析traceview 具体分析每个线程,每个函数耗时4.总结over...
2020-03-09 22:13:11
336
原创 try catch
1.try catch 无法捕捉到view.postDelayed 中的runnable内部的异常;try { mView.postDelayed(new Runnable() { @Override public void run() { doSomethingException(); } ...
2019-10-30 14:19:27
167
转载 View可见性感知
产品需求:视频view感知到页面生命周期的自动播放或暂停,同时自动数据上报曝光等。技术需求:感知到view的展示,移除,覆盖等场景,而且要在view内部实现。技术原理:检测 View 可见性主要从下面几个方面来考虑了:View 的加载过程监控View 是否在屏幕中的检测View 是否被覆盖的检测View 的加载过程监控view 的加载过程,就是 view 被添加到 win...
2019-09-23 15:28:56
283
转载 UML各种图总结
https://www.cnblogs.com/jiangds/p/6596595.html一、基本概念 如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。动态图分为:状态图,活动图,协作图,序列图。 1、用例图(UseCase Diagrams): ...
2019-09-10 09:42:25
271
原创 看到不错的链接
1.介绍Android 值得一看的书籍读物《不止代码》 《Android开发手册》https://blog.youkuaiyun.com/MingJieZuo/article/details/809865542. 需要关注 httpDNShttps://www.jianshu.com/p/6ee14391e04e...
2019-08-29 11:14:23
216
原创 FutureTask使用及源码分析
最近工作中,遇到一个需求:300ms内请求到服务器返回值,否则取消请求。完成这个需求的时候,使用到了FutureTask。在这里就记录一下,并且研究一下其实现的原理。文章顺序:FutureTask的使用。 开发中可能出现的问题。 结合FutureTask的源码分析问题。 精华部分1. FutureTask的使用在Java中,一般是通过继承Thread类或者实现Runnable接...
2019-05-20 20:26:14
294
原创 Fragment生命周期-笔记
Fragment每个生命周期方法的意义、作用(注意红色的不是生命周期方法):setUserVisibleHint():设置Fragment可见或者不可见时会调用此方法。在该方法里面可以通过调用getUserVisibleHint()获得Fragment的状态是可见还是不可见的,如果可见则进行懒加载操作。onAttach():执行该方法时,Fragment与Activity已经完成绑定,该方法有一个...
2018-07-06 15:14:23
171
转载 RecyclerView局部刷新是由于其自带的item动画造成的闪烁
RecyclerView局部刷新是由于其自带的item动画造成的,相信都看过RecyclerView在移除某个item时的删除动画吧,这个闪烁也是默认动画中的效果,所以只要去掉默认动画里的闪烁效果问题就解决了。代码如下:((DefaultItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false)...
2018-04-23 15:23:17
3045
转载 RecyclerView Item 布局宽高无效问题探究
直接上问题位置:通过对比,发现宽高失效与不失效的区别在与Adapter中创建ViewHolder是加载布局的方式不同:LayoutInflater.from(parent.getContext()).inflate(R.layout.inflate_test_item,null)以上这种加载方式Item宽高失效。LayoutInflater.from(parent.getContext()).i...
2018-04-13 15:08:01
568
转载 Android 读取各个部分的meta
在AndroidManifest.xml清单文件中 我们有时会看到如下类似的<meta-data ... >元素开始的配置内容:[html] view plain copy<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyBhBFOgVQc...
2018-03-05 10:31:17
1293
原创 Android错误集合
1.库重复的报错:Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDevDebug'.> java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to...
2018-03-01 16:10:26
295
原创 PopupWindow基于某控件的显示
sendmessage_linearlayout为目标控件popupWindow:自定义的popupWindow控件之上:popupWindow.showAtLocation(sendmessage_linearlayout, Gravity.NO_GRAVITY ,location[0]
2015-09-16 13:47:39
405
转载 listview加载性能优化ViewHolder
在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建。ListView加载数据都是在public View getView(int position, View c
2015-08-28 14:44:36
419
原创 error: Attribute "buttonBarStyle" has already been defined
原因:加入了多余的library.解决;删除就ok了。
2015-08-06 14:59:30
1924
原创 android细节问题
1.同样的的图片,放置在drawable-hdpi目录下,但加载的效果却没有drawable-mdpi的图片好,这是为什么?答:当你是手机是中等屏幕像素的时候,手机程序会默认从drawable-mdpi直接加载图片,当在drawable-mdpi没有找到图片,在drawable-hdpi中找到图片时,系统认为你加载的是高清图片不适应现在的屏幕分辨,自动帮你降低清晰度,这样就会造成同样的
2015-07-22 19:23:56
460
原创 android自定义控件
当android现有的控件不能满足我们的需求的时候,我们一般要自定义自己的控件。自定义控件的实现并不特别难,关键在理解需求及注意实现的细节。现在举个例子实现开关按钮的自定义控件。需求:1.点击按钮,切换开关状态。2.拖动按钮,切换开关状态。注意细节问题:1.用户拖动控件的时候,有点击屏幕的事件,这个时候注册监听点击事件会被响应。说白了就是拖动和点击混淆了。即用户明明
2015-07-22 11:24:54
485
转载 Android中jni使用
搞了好久android都没有用到jni(java native interface),貌似大家都会就手痒弄了个入门。首先,先安装linux的模拟器具体安装不介绍了。写一个简单的android程序,具体的步骤如下:// 1 定义一个c方法的接口 相当于在java代码中定义了一个接口 接口的实现方法是C语言实现的public native String helloWorldFrom
2015-07-21 08:58:44
427
转载 Android中LocalBroadcastManager的使用
先聊聊LocalBroadcastManager有啥用: 1.LocalBroadcastManager基本介绍 这个类是在v4包中的,谷歌官方的介绍是: Helper to register for and send broadcasts of Intents to local objects within your process. This is has a number of
2015-07-17 11:23:42
566
转载 Android中visibility三个属性的区别
在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。有些人可能会疑惑Invisible和gone是有什么区别的???那么,我们带着这个疑问看下面:其在XML文件和Java代码中设置如下: 可见(visible)XML文件:
2015-07-15 16:03:50
838
原创 Android 后台服务Service实现
1.创建一个类继承广播接收消息,并重写它的接收广播的函数,启动你的servicepublic class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent i = new Intent(context,S
2015-07-14 13:21:25
991
转载 多线程下载框架xUtils
xUtils简介xUtils 包含了很多实用的android工具。xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls 最低兼容android 2.2 (api level 8)目前xUtils主要有四大模块:DbUtils模块:android中的orm框架,一行代
2015-07-09 16:49:15
565
原创 使用代码实现Android的清除数据的功能
清除数据清除数据主要是清除用户配置,比如SharedPreferences、数据库等等,这些数据都是在程序运行过程中保存的用户配置信息,清除数据后,下次进入程序就和第一次进入程序时一样;代码实现方法:/*** 清除应用缓存的用户数据,同时停止所有服务和Alarm定时task* String cmd = "pm clear " + packageName;* S
2015-07-08 13:36:24
8264
原创 android打开键盘后将顶部菜单顶出可见activity问题
解决方法:为打开虚拟键盘的activity设置windowSoftInputMode的属性值是stateHidden|adjustResize android:screenOrientation="portrait"android:windowSoftInputMode="stateHidden|adjustResize"/>
2015-06-30 17:30:50
406
原创 android Service
重点在于理解Service的生命周期,启动,绑定,处理连接(正常连接or异常连接,重载ServiceConnection的OnServiceConnected和OnServiceDisconnected),停止。对于不同的方式(startService和bindService)启动Service有不同的生命周期。startService-onCreate-onStartCommand-运行
2015-06-23 16:03:17
416
转载 Android xml布局中的include
Android在xml文件中可使用include包含其他定义好的布局, 可以将多处用到的布局单独出来,然后用include包含进来,这种包含方法相当于把原来布局的一部分代码独立出来,供大家共同使用,也就相当于面向对向中的类的概念差不多。include并没有其它的功能,只是把一个XML布局引入进来当做自己的布局,跟直接把引用的这段代码写在include处的效果是一样的。转载:http:/
2015-06-15 14:29:08
808
原创 仿照KK5.0聊天窗口布局
简介:这个布局分为头,中,底,三个模块。头:对话名称,返回按钮。中:对话的列表底部:发送会话。1.首先我是使用RelativeLayout布局的,三个模块先独立完成,然后中的对话列表设为在头之下在底之上layout_above,layout_below实现。2.后来使用linearlayout,无论使用RelativeLayout,还是android:layou
2015-06-11 11:08:39
550
原创 MFC C++监听网页窗口的点击超链接跳转问题(即打开新的浏览器窗口)
使用MFC的CHtmlView类,注册ON_EVENT事件进行监听。实现的基本代码是:BEGIN_EVENTSINK_MAP(CxxxView, CHtmlView)ON_EVENT(CxxxView, AFX_IDW_PANE_FIRST, DISPID_NEWWINDOW3, CxxxView::OnNewWindow3, VTS_PDISPATCH VTS_PBOOL VTS_U
2015-06-10 13:31:10
3275
原创 2015-05-30 遇到的常用问题appcompat_v7-探究方法
1.R.java文件不见了。这个会造成你所有引用R资源的地方都会报错。看着这么多多错误,你可能有点不淡定。但是请保持冷静,那只是一个错误。就是R.java文件缺失。一般我对待问题的方式是,先解决问题在探究其理论,没有解决问题,讲理论,我自己没有底气。首先解决的方法有:(摘录网上)1、选择菜单 Project >> Clean ,前提是勾选上 Bulid Automatically
2015-05-30 12:50:36
644
原创 Activity not started, its current task has been brought to the front
运行android的程序,看到这个红色字体以为程序出错,想一探究竟。[2015-05-30 10:23:32 - autoim] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.autoim/.Mai
2015-05-30 10:29:04
575
原创 Dui界面布局无法响应鼠标点击消息响应
问题出现在窗口的标题栏设置过大修改:将caption="0,0,0,23"修改之后,就能够响应鼠标点击消息
2015-05-29 09:36:20
504
原创 查官方文档重要性
bool bCopyRet = CopyFile(m_szFileName.GetData(), Ansi2Unicode(personIcon.path).c_str(), false);这个代码有什么问题?我之前一直以为是正确的。后来查了官方文档发现:BOOL WINAPI CopyFile( _In_ LPCTSTR lpExistingFileName, _In
2015-05-14 09:59:28
394
原创 VS2012自动添加函数注释
VS2012的宏资源管理器已经被插件和扩展取代了。详见 http://www.codewrecks.com/blog/index.php/2012/08/24/converting-visual-studio-macro-to-visual-studio-plugin/以前使用宏项目定义的函数注释模板已经无法在vs2012上实现。因此我使用VASSISTX插件完成了这个功能。1
2015-04-29 11:11:50
5209
转载 MFC设置窗口标题的名称和图标
1.修改MFC的图标:HICON m_hIcon;//定义一个icon句柄m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);//加载资源文件ID为IDR_MAINFRAME的资源SetIcon(m_hIcon, TRUE); // Set big icon 设置大图标SetIcon(m_hIcon, FALSE); // Set smal
2015-03-19 16:12:20
18719
原创 main cannot be resolved or is not a field
setContentView(R.layout.main);main cannot be resolved or is not a field网上有这样说的:R.layout.main总是在layout上有错误提示波浪线。解决方法:(1) 删除"import android.R;".(2) 勾选上Eclipse中的"Project->Build Au
2015-03-12 15:38:26
894
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人