移动开发

Android Handler内存泄露

前言 在Android开发中,使用Handler的地方很多,大致通常写法如下: private Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { if (msg.what == 1) { mAdapter.notifyDataSetChanged(); } }};这段代码看似没什么问题,但是里面却有一个警告,警告信息如下: This Handler class should

android 集成友盟分享之后,想自定义分享面板的看过来

第一种情况 首先上传一张默认的友盟分享的效果图 看起来还不错,但是总是有这样那样的原因,需要我们对默认效果做出一些改变. 第二种情况 如果你想做出下面的效果: 或者这样的效果 : 总之上面的效果总是在默认的基础上(及原有的控件基础上做出改变,改变颜色,背景,背景颜色等等一些基本的改变), 如果你真的遇到了这样的需求很简单:你可以直接登录友盟的开发文档中有十分详细的介绍,很简单的 下面是一些截图: 好,截图结束. 你可以直接进去看. 第三章情况 有了前两种情况,如果还没有满足你的需求,那么咱们今天

android开发中遇到的问题汇总【二】

36.代码规范 http://liuzhichao.com/p/1781.html#more-1781 // Disallow Parent Intercept, just in case ViewParent parent = getParent(); if (parent != null) { parent.requestDisallowInterceptTouchEvent(true); } 38.在纯属布局中,将除最底部以外的的view都设置weight为1就可以了. 39.editvi

android 数据库是否该关闭

关于android多线程数据读写请看博客: android 多线程数据库读写 常常纠结于获取了SQLiteDatabase每次操作完是否要关闭的问题,每次关闭又怕影响性能,这里记录下SQLiteOpenHelper操作逻辑: SQLiteOpenHelper获取getWritableDatabase,getReadableDatabase如果之前获取的SQLiteDatabase对象没有close掉,就会直接使用之前已经生成的SQLiteDatabase对象,如果之前已经close了,则会生成一

win7下搭建appium+python文档

一:安装node.js 1.双击这个软件 2.一键安装,全都下一步,不要私自更改安装路径 3.打开cmd,输入npm,出现如下截图表示成功 二:安装appium 1.双击appium-installer.exe 2.一键安装,全都下一步,不要私自更改安装路径,记住安装路径,记住勾选创建桌面快捷方式,部分截图省略. 3.双击桌面appium图标,出现以下报错, 一键安装 重新启动appium,出现以下报错 一键安装 再次启动appium,出现以下截图,说明appium安装成功 4.Path系统变量

IOS利用Core Text对文字进行排版 - 转

原贴地址:http://hi.baidu.com/jwq359699768/blog/item/5df305c893413d0a7e3e6f7b.html core text 这个包默认是没有的,要自己手动添加进来. 在IOS中利用core text对文本进行排版的几个关键点如下: 字间距:kCTKernAttributeName 行间距:kCTParagraphStyleSpecifierLineSpacingAdjustment 或 kCTParagraphStyleSpecifierLin

iOS前景可观 人才紧缺

自2007年以来,至今只有短短8年的时间,以苹果为代表的iOS系统在短短的8年时间里从移动操作系统晋级称为最炙手可热的信息操作系统,搭载iOS系统设备把苹果公司从一个濒临破产的境地拉回,进而一跃称为全球目前市值最高的科技公司,这则传奇故事为众人称道,更成就了众多依靠iOS获得成功的人.由此可以看出,在未来的几年内,iOS开发行业的前景良好,iOS开发人员市场需求量进一步扩增.随着越来越多的人使用iPhone手机,用户对于智能手机的要求也越来越高,催生了一大批专业从事iOS开发的高端人才,未来iO

手写CrashHandler实现UncaughtExceptionHandler拦截android异常

手写CrashHandler实现UncaughtExceptionHandler拦截android异常 作者:码字员小D 有点复杂,虽然知道原理,但是并不好从哪开始写了...... 首先这是个需要在整个app运行状态中都需要存在的对象,所以需要在application里初始化这个类,并且这个类实例~~~慢着!发现这里代码有疑问,application中只在oncreate方法里面初始化 public class CrashApplication extends Application { @Ov

ios8推送问题

registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later. if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsFor

【Android】线程及异步操作

Android sdk 提供将某些操作从主UI线程分离开来的途径: AsyncTask类,可完成异步操作并保持与主UI线程的通信 标准Thread类完成异步操作 在Activity或者Fragment中使用Loader完成数据载入,以保证运行速度 阻塞线程的操作将会产生ANR现象(application not responding) 常见阻塞线程的操作包括: 所有过长或负责的计算或操作 请求获取长度不定的数据集 解析数据集 处理多媒体文件,例如图像.视频或音频 对长度不定的数据结构进行迭代 获

android 有弹性的ScrollView 简单实现,与处理ScrollView和ListView,GridView之间的冲突

处理ScrollView和ListView,GridView之间的冲突, 最好的办法就是继承这两个类,重写他们的onMeasure方法即可: ListView: import android.widget.ListView; /** * ScrollView中嵌入ListView,让ListView全显示出来 * @author John * */ public class MyListView extends ListView{ public MyListView(android.conten

android应用锁之获取前台进程包名方法

今天在做技术总结,顺便就把知识共享,个人崇尚分享. 通过以下方式来获取前台进程的包名: 1.android api 10-20 通过ActivityManager中getRunningTasks来获取. 2.android api 21- 22(部分没有升级google更新包) 由于系统在api 21以上禁用getRunningTasks接口. 通过ActivityManager中getRunningAppProcesses来获取 缺点:有可能误判(概率很低) 3.android api 22

innerHTML和appendChild的性能

目测innerHTML比appendChild好了3到4倍, 但是界面渲染还是很慢啊: /** *chrome浏览器; * innerHTML appendChild * 1千条的情况下:3MS 11MS * 1万条的情况下:25MS(14MS) 111MS(52MS) * 10万的情况下:276MS(145MS) 672MS(480S) * 100万界面卡死了 * */  chrome结果 直接点击就可以运行哦, 怎么测试才是对的,感觉不对啊: <html> <head> <

iOS安全攻击和防御(24):敏感的保护方案逻辑(1)

iOS安全攻击和防御(24):敏感的保护方案逻辑(1) Objective-C代码easy被hook.暴露信息太赤裸裸,为了安全,改用C来写吧! 当然不是所有代码都要C来写,我指的是敏感业务逻辑代码. 本文就介绍一种低学习成本的.简易的.Objective-C逻辑代码重写为C代码的办法. 或许,程序中存在一个相似这种类: @interface XXUtil : NSObject + (BOOL)isVerified; + (BOOL)isNeedSomething; + (void)resetP

Nexus 5更新 Android5.0 失败解决方法

Android 5.0最终推出了正式版,今天也及时刷到了Android5.0 (LRX21O),官方链接:https://developers.google.com/android/nexus/images 镜像下载地址:https://dl.google.com/dl/android/aosp/hammerhead-lrx21o-factory-01315e08.tgz.MD5:761667f1ddaf4e38d4792136df4ab927.SHA-1:01315e08c7f282452b5

JS面向对象、prototype、call()、apply()

一. 起因 那天用到prototype.js于是打开看看,才看几行就满头雾水,原因是对js的面向对象不是很熟悉,于是百度+google了一把,最后终于算小有收获,写此纪念一下^_^. prototype.js代码片段 复制代码 代码如下: var Class = { create: function() { return function() { this.initialize.apply(this , arguments); } } } // Class使用方法如下 var A = Class

iostat命令学习

iostat命令主要用于监控linux系统下cup和磁盘IO的统计信息 可以通过iostat --help获得该命令的帮助信息 [[email protected] ~]$ iostat --help Usage: iostat [ options... ] [ <interval> [ <count> ] ] Options are: [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -n ] [ -h ] [ -N ] [ <d

手机,平板当中浏览和编辑DWG的CAD控件出来啦!支持ARX二次开发

控件2014.06.30 安卓开发最新更新 发布时间:2014-06-30 22:22:42 开发包下载地址:http://www.mxdraw.com/MxDraw6.0Android(20140630)TryVersion.exe 安卓手机上的apk安装包: http://www.mxdraw.com/MxDrawApp60.apk 安卓快速入门文档: http://www.mxdraw.com/AndroidDev.doc 1. 优化dwg显示速度,现在可以极速显示dwg,比市面上的任何软

javascript图形动画设计--以简单正弦波轨迹移动

<!doctype html> <html> <head> <meta charset="utf-8"> <title>Wave 1</title> <link rel="stylesheet" href="../include/style.css"> </head> <body> <header> Example from &

新建maven工程使用webapp插件弹出javax.servlet.http.HttpServlet was not found on the Java Build Path异常

检查pom.xml文件中是否引用javax.servlet,引用如下所示: