- 博客(44)
- 资源 (3)
- 收藏
- 关注
转载 [转]android 使用SAF框架操作外置sd卡
原文:https://blog.csdn.net/hyc1988107/article/details/83825237
2019-07-04 10:33:30 367
原创 Android中使用Handler造成内存泄露的分析和解决[转]
Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可到达,同样会被GC回收。...
2018-05-14 15:02:27 286
转载 转-java虚拟机内存区域的划分以及作用详解
一、运行时数据区 什么叫运行时数据区呢,看下图就知道了,今天的重点就围绕这张图讲。 1、程序计数器(寄存器) 当前线程所执行的字节码行号指示器 字节码解释器工作依赖计数器控制完成 通过执行线程行号记录,让线程轮流切换各条线程之间计数器互不影响 ...
2018-05-14 10:03:48 287
原创 android jni so有关问题
处理.so文件时有一条简单却并不知名的重要法则。你应该尽可能的提供专为每个ABI优化过的.so文件,但要么全部支持,要么都不支持:你不应该混合着使用。你应该为每个ABI目录提供对应的.so文件。当一个应用安装在设备上,只有该设备支持的CPU架构对应的.so文件会被安装。在x86设备上,libs/x86目录中如果存在.so文件的话,会被安装,如果不存在,则会选择armeabi-v7a中的.so文件,...
2018-03-28 17:51:09 185
原创 Java设计模式-装饰模式
1:使用场景需要透明且动态的扩展类的功能时2:UML图3 代码举例public abstract class Person { public abstract void dressed();}public class Boy extends Person{ @Override public void dressed()
2017-11-09 14:53:11 270
原创 Java设计模式-适配器模式
1:使用场景1)接口不兼容2)建立一个可以重复使用的类,用于一些彼此没有太大关联的一些类3)需要一个统一的输出接口2:UML图3: 代码举例
2017-11-06 18:00:53 254
转载 爱奇艺Android移动客户端app瘦身经验
2017-09-29 Jully 何俊林今天分享是来自兄弟部门移动客户端的瘦身经验。欢迎大家关注爱奇艺技术产品团队公众号,更多来自爱奇艺公司技术分享和总结。作者|Jully作者介绍Jully, 2010年毕业于哈尔滨工业大学,2013年加入爱奇艺,目前是技术产品中心高级程序媛。从事爱奇艺Android移动客户端开发工作,主要负责客户端
2017-10-12 17:06:55 1239
转载 Android软键盘删除键触发Activity的返回事件
今天突然发现一个bug,自己的EditText在删除内容时,总会触发Activity的返回事件,可是昨天明明是好好的。于是调试一番才突然醒悟:原来是我今天重写了onKeyDown监听,但是忘记过滤KeyCode了,如此简单……public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEve
2017-08-02 09:42:56 739
原创 Java设计模式-建造者模式
1:使用场景1)相同的方法,不同的执行顺序,产生不同的事件结果2)多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不同3)产品类非常复杂,或者产品类中的调用顺序不同产生了不同的作用4)当初始化一个对象特别复杂,如参数多。2:UML图3:代码举例
2017-07-31 11:52:53 326
原创 Java设计模式-原型模式
1:使用场景1)类初始化需要消耗非常多的资源,包括数据或硬件资源,通过原型拷贝可以避免2)通过new产生一个对象需要非常繁琐的数据准备过程或权限控制,这时可以使用原型模式3)一个对象需要提供给其他对象访问,而且各个调用者可能都需要改变其值时,可以考虑使用原型模式拷贝多个对象供调用者使用,即保护性拷贝2:UML图3:代码举例:public class
2017-07-28 19:11:13 278
原创 Java设计模式-工厂方法模式
1:使用场景在任何需要生产复杂对象的地方,都可以使用工厂方法模式,用new可以完成创建对象无需使用工厂方法模式2:UML图3:代码举例public abstract class Product { public abstract void method(); }public class ConcreteProductA extends Product{
2017-07-25 17:59:10 249
原创 Java设计模式-单例模式
1:使用场景 确保某个类有且仅有一个对象的场景,避免产生多个对象消耗过多资源。例如:访问io和数据库资源,这时就要考虑使用单例模式。2:UML图 关键点: 1:构造方法为private(该类不能通过new的方式产生对象) 2: 通过静态方法或枚举返回单例对象 3:确保在多线程环境下,产生的对
2017-07-24 17:30:14 314
原创 Android开发-让EditText输入时得软键盘的确认键变为搜索键
1:在布局文件中的EditText增加如下属性:android:imeOptions="actionSearch2:Java代码中增加如下:et_input.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override
2017-06-07 11:09:21 3638
原创 Tinker热修复接入详解(入坑并出坑篇)
注:当然一开始要参考Tinker的详细说明,链接如下:https://github.com/Tencent/tinker/wiki下面就是我自己一步一步操作,并完成接入Tinker,而且入坑并出坑的过程。1:android studio自己创建个工程2:工程的build.gradle中添加以下代码: dependencies { clas
2017-06-06 19:09:55 4580
原创 JAVA设计模式之单例模式[转]
概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、
2017-04-07 18:19:59 305
转载 设计模式之单例模式二(解决无序写入的问题)
public class Singleton{ private static Singleton instance; //构造函数设置为私有使之不能被外界实例化 private Singleton(){ } //获得实例 public static Singleton getInstance(){ if(instance==null){ synchron
2017-04-07 17:34:36 822
转载 解决GridView未设置margin、padding容器内出现空隙有关问题
GridView未设置margin、padding容器内出现空隙问题 查看sdk源码最好才发现是gidview的listSelector中的图片grid_selector_background_xx.9.png 画了可见区域导致的空隙。 解决办法很简单: android:listSelector="@android:color/transpare
2017-03-29 14:34:18 1303
原创 Android解决ScrollView异步加载数据后发生滚动的问题
问题:当Android布局中有一个ScrollVIew,其内部有一段内容是需要在线加载的。当内容加载完成后,ScrollView中内容的长度会发生改变,这时ScrollView会自动下滚。如果需要禁止这种行为的发生只需要在ScrollVIew的唯一根布局中添加如下设置即可:android:focusable="true" android:f
2017-03-14 16:08:32 1254
转载 drawable文件夹详解
QVGA使用ldpi,虽然有不同尺寸,但都是120dpi左右;HVGA同理;如下图;-finger 用于触摸屏的设备-hdpi 近似于240dpi的高级显示密度的屏幕-mdpi 近似于160dpi的中级显示密度的屏幕-ldpi 近似于120dpi的低级显示密度的屏幕-land 横屏显示
2017-02-05 19:14:40 638
原创 微信小程序开发详解(十)---微信小程序样式基础
样式属性为如下内容:1 尺寸2 背景3 边框4 边距5 文本6 其他(列表,内容,表格)未完待续。。。
2017-01-12 14:48:03 16497 6
原创 微信小程序开发详解(九)---微信小程序布局基础
1:Flex布局Flex布局如图1所示图11.1 Flex容器属性1.2 Flex容器内元素属性
2017-01-03 09:30:41 91631 10
转载 Java多线程编程:Callable、Future和FutureTask浅析(多线程编程之四)
http://blog.csdn.net/javazejian/article/details/50896505
2016-12-29 14:36:38 429
转载 【转】java&android线程池-Executor框架之ThreadPoolExcutor&ScheduledThreadPoolExecutor浅析(多线程编程之三)
http://blog.csdn.net/javazejian/article/details/50890554
2016-12-29 10:56:01 838
原创 微信小程序开发详解(八)---微信小程序页面生命周期和参数传递
1:页面的生命周期在初始页面:index.js中增加如图1所示代码图1点击“编译”后,运行这个小程序:日志如图2所示:初始页面index.js启动会从app,js中的生命周期方法调用开始:onLaunch---onShow,然后开始调用index.js页面中的生命周期方法:onLoad---onShow---onReady,当点击“后台”时,页面index.js进入后台,这时回
2016-12-27 16:04:45 28519
原创 微信小程序开发详解(七)---微信小程序APP生命周期
1:微信小程序APP的生命周期方法:在微信小程序工程中的app.js中增加如图1所示方法图1编译运行,查看日志如图2,图3所示:微信小程序启动时,调用生命周期方法为:onLaunch方法(app.js)---onShow方法(app.js)---onLoad方法(首页面:index.js的onLoad方法)图2图3当将小程序置于后台(开发工具左下角有
2016-12-27 14:46:04 12314
原创 微信小程序开发详解(六)---微信小程序配置
1:参考https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html?t=20161222这里讲解了APP的页面配置,window配置,tabBar配置,网络配置等信息如图1,图2所示:图1图2
2016-12-27 11:46:10 2456
原创 微信小程序开发详解(五)---微信小程序事件
1:事件冒泡在微信小程序开发工具中,新建event文件夹,新建文件,在event.wxml中填写如下代码: 这里是view 1 这里是view 2 这里是view 3 在event.wxss中填写如下代码:.view1{ height:
2016-12-27 10:33:16 7049 4
原创 微信小程序开发详解(四)---微信小程序开发组件使用初步
1:建立一个微信小程序的工程2:请参考如下链接里面的内容,这是微信小程序的官方开发指南:https://mp.weixin.qq.com/debug/wxadoc/dev/component/button.html?t=201612223:可以拷贝部分例子程序到你建立的工程中,使用微信小程序的组件,如图1所示:图1
2016-12-26 15:33:17 14172 3
原创 微信小程序开发详解(三)---微信小程序工程目录结构
1:打开微信小程序开发工具,进入编辑模式,如下图1所示图11:这个项目主要由pages/firstPage,pages/index,pages/logs,这几个文件夹组成,这几个文件夹主要描述整个小程序的界面信息。每个文件下基本可以分为:.js,.wxml,.wxss,.json等文件组成。例如:index.js:描述index页面的逻辑信息(类比:js代码)ind
2016-12-15 15:02:59 8886 4
原创 微信小程序开发详解(二)---开发工具使用简介
1:PC桌面打开微信小程序开发工具(微信web开发者工具),如图1所示: 图12: 用微信扫描图1中的二维码
2016-12-13 17:01:27 3150
原创 微信小程序开发详解(一)---开发准备
一 注册微信开发者账号登录:https://mp.weixin.qq.com/ 进行注册.目前仅支持企业和组织等非个人注册微信小程序账号,注册详细情况可以参见如下链接:http://kf.qq.com/faq/140806zARbmm161103r6vmiA.html注:如果仅仅是为了学习开发微信小程序,可以注册微信服务号。二 微信开发者工具下载由于微信公
2016-12-13 16:50:38 3055
原创 PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机)
可以通过如下ADB命令实现PC对Android手机的模拟输入,点击,滑动等事件,进而对Android手机的操作与控制。1:adb input keyevent 这条命令模拟Android手机按下了event_code对应的按键。 event_code表如下:
2016-12-05 14:24:43 29589 2
转载 提供给大家一些Android好资料---安卓巴士Android开发神贴整理
安卓巴士Android开发神贴整理http://www.apkbus.com/android-19658-1-1.html分享45个android实例源码,很好很强大.收藏吧http://www.apkbus.com/android-20978-1-1.htmlGoogle Android开发精华教程http://www.apkbus.com/android-135
2012-07-19 11:05:56 885
转载 Linux 进程调度原理
<br />Linux 进程调度原理 <br /> <br />进程调度依据 <br /><br /> 调度程序运行时,要在所有可运行状态的进程中选择最值得运行的进程投入运行。选择进程的依据是什么呢?在每个进程的task_struct结构中有以下四项:policy、priority、counter、rt_priority。这四项是选择进程的依据。其中,policy是进程的调度策略,用来区分实时进程和普通进程,实时进程优先于普通进程运行;priority是进程(包括实时和普通)的静态优先级;counter
2011-01-05 09:56:00 418
转载 如何从零开始开发一款嵌入式产品
如何从零开始开发一款嵌入式产品 【此文系转载】【此文系转载】<br /><br />首先,如果你有幸看到这篇文章,千万不要试图在2个小时内阅读完,就算你2个小时阅读完,我相信你也不会理解里面讲解的精华之处,我相信,你应该将此文章,慢慢品尝,这绝对是一篇需要品尝2~3天,再结合自己过往的经验,加上自己的思考,我相信会对你不仅仅是技术能力,甚至包括整体的思维方式都会有一个非常大的提高。 我写这篇文章的目的,是用本人20年的嵌入式经验呈现给大家一副完整的产品,项目开发蓝图,用本人多年经的历总结了一些教训无私的分享
2010-11-26 17:27:00 926
原创 Keil4 建立STM32工程详解
<br />1:安装mdk412,用注册机注册,这个过程不详细叙述了。<br /> <br />2:在本地某个路径下建立STM32工程文件夹,命名:my_STM32,并在my_STM32下建立rvmdk文件夹,并在rvmdk文件夹内建立 obj,list两个文件夹。<br /> <br />3: 打开Keil4.<br /> <br />4: 选择Project菜单->New uVision Project...,选择.../my_STM32/rvmdk文件夹的路径,并命名工程文件:my_STM32,
2010-11-16 16:27:00 17973 5
转载 STM32学习(三)——库文件添加
<br />前面我们讲解了工程的建立和配置。这次我们主要针对添加工程文件进行讲解。添加工程文件有2种方式,下面我就说一下。<br />一、一种是在点击右键—选择 “add file to “user””来添加。如下图<br /><br />选择以后,会弹出下图对话框,用来选择对应文件,可以多选。<br /><br />二、第二种就是用过工具栏或者点击右键选择manage component来添加,如下图所示2种方式<br /><br />选择以后,弹出下图对话框,下面我们来添加库文件。<br /><br /
2010-11-16 11:29:00 3927
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人